home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1988-02-07 | 26.6 KB | [ TEXT/EDIT]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
Confidence Program Detection Match Type Support
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Sun Feb 7 13:20:27 1988, modified Sun Feb 7 13:20:27 1988, creator Macintosh Edit, type ASCII, 26660 bytes "Glossary" , at 0x68a4 348 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ EDIT]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 08 47 6c 6f 73 73 61 | 72 79 00 00 00 00 00 00 |..Glossa|ry......| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......| |00000050| 00 00 00 00 00 68 24 00 | 00 01 5c 9e 32 5e eb 9e |.....h$.|..\.2^..| |00000060| 32 5e eb 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |2^......|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 2a 72 00 00 |........|....*r..| |00000080| 09 09 09 4d 6f 72 65 20 | 76 61 72 69 61 62 6c 65 |...More |variable| |00000090| 73 20 69 6e 20 74 68 65 | 20 50 6f 63 6b 65 74 20 |s in the| Pocket | |000000a0| 46 6f 72 74 68 20 64 69 | 63 74 69 6f 6e 61 72 79 |Forth di|ctionary| |000000b0| 2e 20 20 4f 66 66 73 65 | 74 73 20 61 72 65 20 62 |. Offse|ts are b| |000000c0| 79 74 65 73 20 66 72 6f | 6d 20 22 74 69 62 22 2e |ytes fro|m "tib".| |000000d0| 20 0d 0d 09 09 09 4e 61 | 6d 65 09 4f 66 66 73 65 | .....Na|me.Offse| |000000e0| 74 09 44 65 73 63 72 69 | 70 74 69 6f 6e 0d 09 09 |t.Descri|ption...| |000000f0| 09 54 65 72 6d 42 75 66 | 09 30 09 09 74 68 65 20 |.TermBuf|.0..the | |00000100| 74 65 72 6d 69 6e 61 6c | 20 69 6e 70 75 74 20 62 |terminal| input b| |00000110| 75 66 66 65 72 0d 09 09 | 09 49 6e 74 41 37 09 38 |uffer...|.IntA7.8| |00000120| 34 09 09 74 68 65 20 69 | 6e 69 74 69 61 6c 20 76 |4..the i|nitial v| |00000130| 61 6c 75 65 20 6f 66 20 | 74 68 65 20 73 79 73 74 |alue of |the syst| |00000140| 65 6d 27 73 20 73 74 61 | 63 6b 20 70 6f 69 6e 74 |em's sta|ck point| |00000150| 65 72 0d 09 09 09 52 7a | 65 72 6f 09 38 38 09 09 |er....Rz|ero.88..| |00000160| 74 68 65 20 61 64 64 72 | 65 73 73 20 6f 66 20 74 |the addr|ess of t| |00000170| 68 65 20 62 6f 74 74 6f | 6d 20 6f 66 20 74 68 65 |he botto|m of the| |00000180| 20 72 65 74 75 72 6e 20 | 73 74 61 63 6b 0d 09 09 | return |stack...| |00000190| 09 55 46 6c 6f 77 09 39 | 32 09 09 74 68 65 20 70 |.UFlow.9|2..the p| |000001a0| 61 72 61 6d 65 74 65 72 | 20 73 74 61 63 6b 27 73 |arameter| stack's| |000001b0| 20 75 6e 64 65 72 66 6c | 6f 77 20 62 75 66 66 65 | underfl|ow buffe| |000001c0| 72 20 61 64 64 72 65 73 | 73 0d 09 09 09 53 7a 65 |r addres|s....Sze| |000001d0| 72 6f 09 39 36 09 09 74 | 68 65 20 61 64 64 72 65 |ro.96..t|he addre| |000001e0| 73 73 20 6f 66 20 74 68 | 65 20 62 6f 74 74 6f 6d |ss of th|e bottom| |000001f0| 20 6f 66 20 74 68 65 20 | 70 61 72 61 6d 65 74 65 | of the |paramete| |00000200| 72 20 73 74 61 63 6b 0d | 09 09 09 45 78 70 61 6e |r stack.|...Expan| |00000210| 64 09 31 30 30 09 09 74 | 68 65 20 61 64 64 72 65 |d.100..t|he addre| |00000220| 73 73 20 6f 66 20 74 68 | 65 20 65 78 70 61 6e 64 |ss of th|e expand| |00000230| 20 72 6f 75 74 69 6e 65 | 20 69 6e 20 43 4f 44 45 | routine| in CODE| |00000240| 31 0d 09 09 09 46 72 65 | 65 50 74 09 31 30 34 09 |1....Fre|ePt.104.| |00000250| 09 74 68 65 20 72 65 6c | 61 74 69 76 65 20 61 64 |.the rel|ative ad| |00000260| 64 72 65 73 73 20 6f 66 | 20 74 68 65 20 65 6e 64 |dress of| the end| |00000270| 20 6f 66 20 74 68 65 20 | 64 69 63 74 69 6f 6e 61 | of the |dictiona| |00000280| 72 79 20 61 74 20 73 74 | 61 72 74 75 70 0d 09 09 |ry at st|artup...| |00000290| 09 46 72 65 65 53 7a 09 | 31 30 36 09 09 74 68 65 |.FreeSz.|106..the| |000002a0| 20 61 6d 6f 75 6e 74 20 | 6f 66 20 66 72 65 65 20 | amount |of free | |000002b0| 73 70 61 63 65 20 61 74 | 20 73 74 61 72 74 75 70 |space at| startup| |000002c0| 0d 09 09 09 44 69 63 74 | 50 74 09 31 30 38 09 09 |....Dict|Pt.108..| |000002d0| 74 68 65 20 6e 61 6d 65 | 20 61 64 64 72 65 73 73 |the name| address| |000002e0| 20 6f 66 20 74 68 65 20 | 6c 61 73 74 20 77 6f 72 | of the |last wor| |000002f0| 64 20 69 6e 20 74 68 65 | 20 64 69 63 74 69 6f 6e |d in the| diction| |00000300| 61 72 79 20 61 74 20 73 | 74 61 72 74 75 70 0d 09 |ary at s|tartup..| |00000310| 09 09 4e 42 61 73 65 09 | 31 31 30 09 09 74 68 65 |..NBase.|110..the| |00000320| 20 76 61 6c 75 65 20 6f | 66 20 74 68 65 20 63 75 | value o|f the cu| |00000330| 72 72 65 6e 74 20 6e 75 | 6d 62 65 72 20 62 61 73 |rrent nu|mber bas| |00000340| 65 20 61 74 20 73 74 61 | 72 74 75 70 0d 09 09 09 |e at sta|rtup....| |00000350| 48 65 6c 64 09 09 31 31 | 32 09 09 74 68 65 20 61 |Held..11|2..the a| |00000360| 64 64 72 65 73 73 20 66 | 6f 72 20 74 68 65 20 6e |ddress f|or the n| |00000370| 65 78 74 20 63 68 61 72 | 61 63 74 65 72 20 69 6e |ext char|acter in| |00000380| 20 61 20 6e 75 6d 65 72 | 61 6c 0d 09 09 09 44 6f | a numer|al....Do| |00000390| 65 73 41 64 72 09 31 31 | 34 09 09 74 68 65 20 70 |esAdr.11|4..the p| |000003a0| 66 61 20 66 72 6f 6d 20 | 61 20 63 72 65 61 74 65 |fa from |a create| |000003b0| 64 20 77 6f 72 64 20 66 | 6f 72 20 22 64 6f 65 73 |d word f|or "does| |000003c0| 3e 22 0d 09 09 09 66 63 | 6f 6c 6f 6e 09 31 31 38 |>"....fc|olon.118| |000003d0| 09 09 61 20 66 6c 61 67 | 20 69 6e 64 69 63 61 74 |..a flag| indicat| |000003e0| 69 6e 67 20 74 68 65 20 | 69 6e 74 65 72 70 72 65 |ing the |interpre| |000003f0| 74 65 72 73 20 73 74 61 | 74 65 20 28 73 65 65 20 |ters sta|te (see | |00000400| 22 63 73 74 61 74 65 22 | 29 0d 09 09 09 66 69 6d |"cstate"|)....fim| |00000410| 6d 65 64 09 31 31 39 09 | 09 61 20 66 6c 61 67 20 |med.119.|.a flag | |00000420| 69 6e 64 69 63 61 74 69 | 6e 67 20 61 6e 20 69 6d |indicati|ng an im| |00000430| 6d 65 64 69 61 74 65 20 | 77 6f 72 64 0d 09 09 09 |mediate |word....| |00000440| 66 6e 65 67 09 09 31 32 | 30 09 09 61 20 66 6c 61 |fneg..12|0..a fla| |00000450| 67 20 66 6f 72 20 22 6e | 75 6d 62 65 72 22 20 69 |g for "n|umber" i| |00000460| 6e 64 69 63 61 74 69 6e | 67 20 61 20 6e 65 67 61 |ndicatin|g a nega| |00000470| 74 69 76 65 20 6e 75 6d | 62 65 72 0d 09 09 09 66 |tive num|ber....f| |00000480| 69 6e 74 09 09 31 32 31 | 09 09 61 20 66 6c 61 67 |int..121|..a flag| |00000490| 20 69 6e 64 69 63 61 74 | 69 6e 67 20 69 6e 70 75 | indicat|ing inpu| |000004a0| 74 20 73 6f 75 72 63 65 | 20 28 73 65 65 20 22 63 |t source| (see "c| |000004b0| 62 6c 6b 22 29 0d 0d 09 | 09 09 50 6f 63 6b 65 74 |blk")...|..Pocket| |000004c0| 20 46 6f 72 74 68 20 47 | 6c 6f 73 73 61 72 79 20 | Forth G|lossary | |000004d0| 0d 0d 09 09 09 21 20 28 | 20 6e 20 61 64 64 72 20 |.....! (| n addr | |000004e0| 2d 2d 20 29 20 73 61 79 | 3a 20 22 73 74 6f 72 65 |-- ) say|: "store| |000004f0| 22 20 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |" <stan|dard> | |00000500| 53 74 6f 72 65 20 76 61 | 6c 75 65 20 6e 20 61 74 |Store va|lue n at| |00000510| 20 74 68 65 20 72 65 6c | 61 74 69 76 65 20 61 64 | the rel|ative ad| |00000520| 64 72 65 73 73 2c 20 61 | 64 64 72 2e 20 0d 0d 09 |dress, a|ddr. ...| |00000530| 09 09 21 50 45 4e 20 28 | 20 68 20 76 20 2d 2d 20 |..!PEN (| h v -- | |00000540| 29 20 73 61 79 3a 20 22 | 73 74 6f 72 65 20 70 65 |) say: "|store pe| |00000550| 6e 22 20 20 20 4d 6f 76 | 65 20 74 68 65 20 67 72 |n" Mov|e the gr| |00000560| 61 70 68 69 63 73 20 70 | 65 6e 20 74 6f 20 74 68 |aphics p|en to th| |00000570| 65 20 63 6f 6f 72 64 69 | 6e 61 74 65 73 20 6f 6e |e coordi|nates on| |00000580| 20 74 68 65 20 73 74 61 | 63 6b 2e 20 0d 09 09 09 | the sta|ck. ....| |00000590| 0d 09 09 09 09 23 20 28 | 20 64 76 61 6c 20 2d 2d |.....# (| dval --| |000005a0| 20 64 71 75 6f 74 20 29 | 20 73 61 79 3a 20 22 73 | dquot )| say: "s| |000005b0| 68 61 72 70 22 20 20 3c | 73 74 61 6e 64 61 72 64 |harp" <|standard| |000005c0| 3e 20 20 20 43 6f 6e 76 | 65 72 74 20 6f 6e 65 20 |> Conv|ert one | |000005d0| 64 69 67 69 74 20 6f 66 | 20 61 20 6e 75 6d 65 72 |digit of| a numer| |000005e0| 61 6c 20 72 65 70 72 65 | 73 65 6e 74 65 64 20 62 |al repre|sented b| |000005f0| 79 20 74 68 65 20 64 76 | 61 6c 75 65 2c 20 62 79 |y the dv|alue, by| |00000600| 20 64 69 76 69 64 69 6e | 67 0d 09 09 09 09 74 68 | dividin|g.....th| |00000610| 65 20 76 61 6c 75 65 20 | 62 79 20 74 68 65 20 6e |e value |by the n| |00000620| 75 6d 65 72 69 63 20 62 | 61 73 65 2e 20 20 55 73 |umeric b|ase. Us| |00000630| 65 20 62 65 74 77 65 65 | 6e 20 22 67 72 65 61 74 |e betwee|n "great| |00000640| 65 72 2d 74 68 61 6e 2d | 73 68 61 72 70 22 20 61 |er-than-|sharp" a| |00000650| 6e 64 20 22 73 68 61 72 | 70 2d 6c 65 73 73 2d 74 |nd "shar|p-less-t| |00000660| 68 61 6e 22 2e 20 0d 0d | 09 09 09 23 3e 20 28 20 |han". ..|...#> ( | |00000670| 64 76 61 6c 20 2d 2d 20 | 61 64 64 72 20 6c 65 6e |dval -- |addr len| |00000680| 20 29 20 73 61 79 3a 20 | 22 73 68 61 72 70 2d 6c | ) say: |"sharp-l| |00000690| 65 73 73 2d 74 68 61 6e | 22 20 20 3c 73 74 61 6e |ess-than|" <stan| |000006a0| 64 61 72 64 3e 20 20 20 | 4c 65 61 76 65 20 74 68 |dard> |Leave th| |000006b0| 65 20 61 64 64 72 65 73 | 73 20 61 6e 64 20 6c 65 |e addres|s and le| |000006c0| 6e 67 74 68 20 6f 66 20 | 61 20 73 74 72 69 6e 67 |ngth of |a string| |000006d0| 20 72 65 70 72 65 73 65 | 6e 74 69 6e 67 0d 09 09 | represe|nting...| |000006e0| 09 09 74 68 65 20 66 6f | 72 6d 61 74 74 65 64 20 |..the fo|rmatted | |000006f0| 64 76 61 6c 75 65 2e 20 | 20 55 73 65 20 77 69 74 |dvalue. | Use wit| |00000700| 68 20 23 2c 20 22 73 68 | 61 72 70 73 22 2c 20 22 |h #, "sh|arps", "| |00000710| 73 68 61 72 70 22 2c 20 | 22 68 6f 6c 64 22 20 61 |sharp", |"hold" a| |00000720| 6e 64 20 22 67 72 65 61 | 74 65 72 2d 74 68 61 6e |nd "grea|ter-than| |00000730| 2d 73 68 61 72 70 22 2e | 20 0d 0d 09 09 09 23 53 |-sharp".| .....#S| |00000740| 20 28 20 64 76 61 6c 20 | 2d 2d 20 30 20 30 20 29 | ( dval |-- 0 0 )| |00000750| 20 73 61 79 3a 20 22 73 | 68 61 72 70 73 22 20 20 | say: "s|harps" | |00000760| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 43 6f 6e |<standar|d> Con| |00000770| 76 65 72 74 20 61 6c 6c | 20 6f 66 20 74 68 65 20 |vert all| of the | |00000780| 64 69 67 69 74 73 20 6f | 66 20 74 68 65 20 64 76 |digits o|f the dv| |00000790| 61 6c 75 65 20 61 63 63 | 6f 72 64 69 6e 67 20 74 |alue acc|ording t| |000007a0| 6f 20 74 68 65 20 63 75 | 72 72 65 6e 74 0d 09 09 |o the cu|rrent...| |000007b0| 09 09 6e 75 6d 65 72 69 | 63 20 62 61 73 65 2e 20 |..numeri|c base. | |000007c0| 20 55 73 65 20 62 65 74 | 77 65 65 6e 20 22 67 72 | Use bet|ween "gr| |000007d0| 65 61 74 65 72 2d 74 68 | 61 6e 2d 73 68 61 72 70 |eater-th|an-sharp| |000007e0| 22 20 61 6e 64 20 22 73 | 68 61 72 70 2d 6c 65 73 |" and "s|harp-les| |000007f0| 73 2d 74 68 61 6e 22 2e | 20 0d 0d 09 09 09 27 20 |s-than".| .....' | |00000800| 28 20 2d 2d 20 61 64 64 | 72 20 29 20 73 61 79 3a |( -- add|r ) say:| |00000810| 20 22 74 69 63 6b 22 20 | 20 3c 73 74 61 6e 64 61 | "tick" | <standa| |00000820| 72 64 3e 20 20 20 52 65 | 74 75 72 6e 20 74 68 65 |rd> Re|turn the| |00000830| 20 72 65 6c 61 74 69 76 | 65 20 61 64 64 72 65 73 | relativ|e addres| |00000840| 73 20 6f 66 20 74 68 65 | 20 6e 65 78 74 20 77 6f |s of the| next wo| |00000850| 72 64 20 66 72 6f 6d 20 | 74 68 65 20 69 6e 70 75 |rd from |the inpu| |00000860| 74 20 73 74 72 65 61 6d | 2e 20 0d 0d 09 09 09 28 |t stream|. .....(| |00000870| 20 28 20 2d 2d 20 29 20 | 73 61 79 3a 20 22 70 61 | ( -- ) |say: "pa| |00000880| 72 65 6e 74 68 65 73 69 | 73 22 20 20 3c 73 74 61 |renthesi|s" <sta| |00000890| 6e 64 61 72 64 3e 20 20 | 20 42 65 67 69 6e 20 61 |ndard> | Begin a| |000008a0| 20 63 6f 6d 6d 65 6e 74 | 2e 20 20 41 20 72 69 67 | comment|. A rig| |000008b0| 68 74 20 70 61 72 65 6e | 74 68 65 73 69 73 20 65 |ht paren|thesis e| |000008c0| 6e 64 73 20 74 68 65 20 | 63 6f 6d 6d 65 6e 74 2e |nds the |comment.| |000008d0| 20 0d 0d 09 09 09 28 2e | 22 29 20 28 20 2d 2d 20 | .....(.|") ( -- | |000008e0| 29 20 73 61 79 3a 20 22 | 70 61 72 65 6e 2d 64 6f |) say: "|paren-do| |000008f0| 74 2d 71 75 6f 74 65 22 | 20 3c 73 74 61 6e 64 61 |t-quote"| <standa| |00000900| 72 64 3e 20 20 20 54 68 | 69 73 20 69 73 20 74 68 |rd> Th|is is th| |00000910| 65 20 72 75 6e 74 69 6d | 65 20 77 6f 72 64 20 63 |e runtim|e word c| |00000920| 6f 6d 70 69 6c 65 64 20 | 69 6e 74 6f 20 74 68 65 |ompiled |into the| |00000930| 20 64 69 63 74 69 6f 6e | 61 72 79 20 62 79 0d 09 | diction|ary by..| |00000940| 09 09 09 22 64 6f 74 2d | 71 75 6f 74 65 22 2e 20 |..."dot-|quote". | |00000950| 20 22 50 61 72 65 6e 2d | 64 6f 74 2d 71 75 6f 74 | "Paren-|dot-quot| |00000960| 65 22 20 70 72 69 6e 74 | 73 20 74 68 65 20 73 74 |e" print|s the st| |00000970| 72 69 6e 67 20 64 61 74 | 61 20 77 68 69 63 68 20 |ring dat|a which | |00000980| 66 6f 6c 6c 6f 77 73 20 | 69 74 20 69 6e 20 74 68 |follows |it in th| |00000990| 65 20 64 69 63 74 69 6f | 6e 61 72 79 2e 20 0d 0d |e dictio|nary. ..| |000009a0| 09 09 09 28 44 4f 29 20 | 28 20 6c 69 6d 69 74 20 |...(DO) |( limit | |000009b0| 69 6e 64 65 78 20 2d 2d | 20 29 20 73 61 79 3a 20 |index --| ) say: | |000009c0| 22 70 61 72 65 6e 2d 64 | 6f 22 20 3c 73 74 61 6e |"paren-d|o" <stan| |000009d0| 64 61 72 64 3e 20 20 20 | 54 68 69 73 20 69 73 20 |dard> |This is | |000009e0| 74 68 65 20 72 75 6e 74 | 69 6d 65 20 77 6f 72 64 |the runt|ime word| |000009f0| 20 63 6f 6d 70 69 6c 65 | 64 20 69 6e 74 6f 20 74 | compile|d into t| |00000a00| 68 65 20 64 69 63 74 69 | 6f 6e 61 72 79 20 62 79 |he dicti|onary by| |00000a10| 20 22 64 6f 22 2e 20 0d | 09 09 09 09 22 50 61 72 | "do". .|...."Par| |00000a20| 65 6e 2d 64 6f 22 20 62 | 65 67 69 6e 73 20 61 20 |en-do" b|egins a | |00000a30| 6c 6f 6f 70 2e 20 0d 0d | 09 09 09 2a 20 28 20 6e |loop. ..|...* ( n| |00000a40| 31 20 6e 32 20 2d 2d 20 | 6e 31 2a 6e 32 20 29 20 |1 n2 -- |n1*n2 ) | |00000a50| 73 61 79 3a 20 22 73 74 | 61 72 22 20 6f 72 20 22 |say: "st|ar" or "| |00000a60| 74 69 6d 65 73 22 20 3c | 73 74 61 6e 64 61 72 64 |times" <|standard| |00000a70| 3e 20 20 20 4d 75 6c 74 | 69 70 6c 79 20 6e 31 20 |> Mult|iply n1 | |00000a80| 62 79 20 6e 32 2c 20 61 | 6e 64 20 6c 65 61 76 65 |by n2, a|nd leave| |00000a90| 20 74 68 65 20 31 36 20 | 62 69 74 20 72 65 73 75 | the 16 |bit resu| |00000aa0| 6c 74 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 2e |lt on th|e stack.| |00000ab0| 20 0d 0d 09 09 09 2a 2f | 20 28 20 6e 31 20 6e 32 | .....*/| ( n1 n2| |00000ac0| 20 6e 33 20 2d 2d 20 5b | 6e 31 2a 6e 32 5d 2f 6e | n3 -- [|n1*n2]/n| |00000ad0| 33 20 29 20 73 61 79 3a | 20 22 73 74 61 72 2d 73 |3 ) say:| "star-s| |00000ae0| 6c 61 73 68 22 20 3c 73 | 74 61 6e 64 61 72 64 3e |lash" <s|tandard>| |00000af0| 20 20 20 55 73 69 6e 67 | 20 61 20 33 32 20 62 69 | Using| a 32 bi| |00000b00| 74 20 69 6e 74 65 72 6d | 65 64 69 61 74 65 2c 20 |t interm|ediate, | |00000b10| 22 73 74 61 72 2d 73 6c | 61 73 68 22 20 70 75 74 |"star-sl|ash" put| |00000b20| 73 0d 09 09 09 09 74 68 | 65 20 73 63 61 6c 65 64 |s.....th|e scaled| |00000b30| 20 72 65 73 75 6c 74 20 | 6f 6e 20 74 68 65 20 73 | result |on the s| |00000b40| 74 61 63 6b 2e 20 0d 0d | 09 09 09 2b 20 28 20 6e |tack. ..|...+ ( n| |00000b50| 31 20 6e 32 20 2d 2d 20 | 6e 31 2b 6e 32 29 20 73 |1 n2 -- |n1+n2) s| |00000b60| 61 79 3a 20 22 70 6c 75 | 73 22 20 3c 73 74 61 6e |ay: "plu|s" <stan| |00000b70| 64 61 72 64 3e 20 20 20 | 4c 65 61 76 65 20 74 68 |dard> |Leave th| |00000b80| 65 20 72 65 73 75 6c 74 | 20 6f 66 20 6e 31 20 70 |e result| of n1 p| |00000b90| 6c 75 73 20 6e 32 20 6f | 6e 20 74 68 65 20 73 74 |lus n2 o|n the st| |00000ba0| 61 63 6b 2e 20 0d 0d 09 | 09 09 2b 21 20 28 20 6e |ack. ...|..+! ( n| |00000bb0| 20 61 64 64 72 20 2d 2d | 20 29 20 73 61 79 3a 20 | addr --| ) say: | |00000bc0| 22 70 6c 75 73 2d 73 74 | 6f 72 65 22 20 3c 73 74 |"plus-st|ore" <st| |00000bd0| 61 6e 64 61 72 64 3e 20 | 20 20 41 64 64 20 74 68 |andard> | Add th| |00000be0| 65 20 76 61 6c 75 65 2c | 20 6e 2c 20 74 6f 20 74 |e value,| n, to t| |00000bf0| 68 65 20 76 61 6c 75 65 | 20 66 6f 75 6e 64 20 61 |he value| found a| |00000c00| 74 20 74 68 65 20 72 65 | 6c 61 74 69 76 65 20 61 |t the re|lative a| |00000c10| 64 64 72 65 73 73 2c 20 | 61 64 64 72 2e 20 0d 0d |ddress, |addr. ..| |00000c20| 09 09 09 2b 4c 4f 4f 50 | 20 28 20 6e 20 2d 2d 20 |...+LOOP| ( n -- | |00000c30| 29 20 73 61 79 3a 20 22 | 70 6c 75 73 2d 6c 6f 6f |) say: "|plus-loo| |00000c40| 70 22 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |p" <stan|dard> | |00000c50| 55 73 65 64 20 69 6e 73 | 69 64 65 20 6f 66 20 61 |Used ins|ide of a| |00000c60| 20 63 6f 6c 6f 6e 20 64 | 65 66 69 6e 69 74 69 6f | colon d|efinitio| |00000c70| 6e 2c 20 77 69 74 68 20 | 22 64 6f 22 2e 20 20 49 |n, with |"do". I| |00000c80| 6e 63 72 65 6d 65 6e 74 | 20 61 20 6c 6f 6f 70 0d |ncrement| a loop.| |00000c90| 09 09 09 09 69 6e 64 65 | 78 20 62 79 20 74 68 65 |....inde|x by the| |00000ca0| 20 76 61 6c 75 65 20 6e | 2c 20 61 6e 64 20 62 72 | value n|, and br| |00000cb0| 61 6e 63 68 20 74 6f 20 | 74 68 65 20 62 65 67 69 |anch to |the begi| |00000cc0| 6e 69 6e 67 20 6f 66 20 | 74 68 65 20 6c 6f 6f 70 |ning of |the loop| |00000cd0| 20 69 66 20 69 6e 64 65 | 78 20 69 73 20 6c 65 73 | if inde|x is les| |00000ce0| 73 20 74 68 61 6e 20 6c | 69 6d 69 74 2e 20 20 28 |s than l|imit. (| |00000cf0| 73 65 65 20 22 6c 6f 6f | 70 22 20 61 6e 64 20 22 |see "loo|p" and "| |00000d00| 64 6f 22 29 20 0d 0d 09 | 09 09 2b 4d 44 20 28 20 |do") ...|..+MD ( | |00000d10| 6f 66 66 73 65 74 20 2d | 2d 20 61 64 64 72 20 29 |offset -|- addr )| |00000d20| 20 73 61 79 3a 20 22 70 | 6c 75 73 2d 65 6d 2d 64 | say: "p|lus-em-d| |00000d30| 65 65 22 20 20 20 43 61 | 6c 63 75 6c 61 74 65 20 |ee" Ca|lculate | |00000d40| 72 65 6c 61 74 69 76 65 | 20 61 64 64 72 65 73 73 |relative| address| |00000d50| 20 66 72 6f 6d 20 74 68 | 65 20 6f 66 66 73 65 74 | from th|e offset| |00000d60| 20 69 6e 74 6f 20 74 68 | 65 20 64 61 74 61 20 74 | into th|e data t| |00000d70| 61 62 6c 65 2e 0d 09 09 | 09 09 54 68 69 73 20 77 |able....|..This w| |00000d80| 6f 72 64 20 72 65 70 6c | 61 63 65 73 20 74 68 65 |ord repl|aces the| |00000d90| 20 77 6f 72 64 20 6d 61 | 63 64 61 74 61 20 69 6e | word ma|cdata in| |00000da0| 20 70 72 65 76 69 6f 75 | 73 20 76 65 72 73 69 6f | previou|s versio| |00000db0| 6e 73 2e 20 0d 0d 09 09 | 09 2c 20 28 20 6e 20 2d |ns. ....|., ( n -| |00000dc0| 2d 20 29 20 73 61 79 3a | 20 22 63 6f 6d 6d 61 22 |- ) say:| "comma"| |00000dd0| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 57 72 | <standa|rd> Wr| |00000de0| 69 74 65 20 61 6e 64 20 | 65 6e 63 6c 6f 73 65 20 |ite and |enclose | |00000df0| 74 68 65 20 76 61 6c 75 | 65 2c 20 27 6e 27 20 69 |the valu|e, 'n' i| |00000e00| 6e 74 6f 20 74 68 65 20 | 64 69 63 74 69 6f 6e 61 |nto the |dictiona| |00000e10| 72 79 2e 20 0d 0d 09 09 | 09 2c 24 20 28 20 2d 2d |ry. ....|.,$ ( --| |00000e20| 20 29 20 73 61 79 3a 20 | 22 63 6f 6d 6d 61 2d 64 | ) say: |"comma-d| |00000e30| 6f 6c 6c 61 72 22 20 20 | 20 43 6f 6d 70 69 6c 65 |ollar" | Compile| |00000e40| 20 61 20 68 65 78 20 6e | 75 6d 62 65 72 20 66 72 | a hex n|umber fr| |00000e50| 6f 6d 20 74 68 65 20 69 | 6e 70 75 74 20 73 74 72 |om the i|nput str| |00000e60| 65 61 6d 20 69 6e 74 6f | 20 74 68 65 20 64 69 63 |eam into| the dic| |00000e70| 74 69 6f 6e 61 72 79 2e | 20 20 20 55 73 65 64 20 |tionary.| Used | |00000e80| 74 6f 20 63 6f 6d 70 69 | 6c 65 0d 09 09 09 09 74 |to compi|le.....t| |00000e90| 72 61 70 73 20 61 6e 64 | 20 6d 61 63 68 69 6e 65 |raps and| machine| |00000ea0| 20 63 6f 64 65 2e 20 20 | 2c 24 20 69 73 20 69 6d | code. |,$ is im| |00000eb0| 6d 65 64 69 61 74 65 2e | 20 0d 0d 09 09 09 2d 20 |mediate.| .....- | |00000ec0| 28 20 6e 31 20 6e 32 20 | 2d 2d 20 6e 31 2d 6e 32 |( n1 n2 |-- n1-n2| |00000ed0| 20 29 20 73 61 79 3a 20 | 22 6d 69 6e 75 73 22 20 | ) say: |"minus" | |00000ee0| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 4c 65 61 |<standar|d> Lea| |00000ef0| 76 65 20 6e 31 20 6d 69 | 6e 75 73 20 6e 32 20 6f |ve n1 mi|nus n2 o| |00000f00| 6e 20 74 68 65 20 73 74 | 61 63 6b 2e 20 0d 0d 09 |n the st|ack. ...| |00000f10| 09 09 2d 2d 3e 20 28 20 | 2d 2d 20 29 20 73 61 79 |..--> ( |-- ) say| |00000f20| 3a 20 22 6c 6f 61 64 20 | 6e 65 78 74 20 66 69 6c |: "load |next fil| |00000f30| 65 22 20 20 3c 61 6c 6d | 6f 73 74 20 73 74 61 6e |e" <alm|ost stan| |00000f40| 64 61 72 64 3e 20 20 20 | 54 61 6b 65 20 61 20 66 |dard> |Take a f| |00000f50| 69 6c 65 6e 61 6d 65 20 | 66 72 6f 6d 20 74 68 65 |ilename |from the| |00000f60| 20 69 6e 70 75 74 20 73 | 74 72 65 61 6d 2c 20 61 | input s|tream, a| |00000f70| 6e 64 20 6c 6f 61 64 20 | 74 68 65 20 66 69 6c 65 |nd load |the file| |00000f80| 20 66 72 6f 6d 0d 09 09 | 09 09 74 68 65 20 64 69 | from...|..the di| |00000f90| 73 6b 2e 20 20 49 66 20 | 6e 6f 20 64 69 73 6b 20 |sk. If |no disk | |00000fa0| 6f 72 20 70 61 74 68 20 | 69 73 20 73 70 65 63 69 |or path |is speci| |00000fb0| 66 69 65 64 2c 20 74 68 | 65 20 64 65 66 61 75 6c |fied, th|e defaul| |00000fc0| 74 20 69 73 20 75 73 65 | 64 2e 20 20 20 4e 4f 54 |t is use|d. NOT| |00000fd0| 45 3a 20 46 69 6c 65 2c | 20 66 6f 6c 64 65 72 20 |E: File,| folder | |00000fe0| 6f 72 20 64 69 73 6b 20 | 6e 61 6d 65 73 20 75 73 |or disk |names us| |00000ff0| 65 64 20 6d 75 73 74 0d | 09 09 09 09 63 6f 6e 74 |ed must.|....cont| |00001000| 61 69 6e 20 6e 6f 20 73 | 70 61 63 65 73 20 61 6e |ain no s|paces an| |00001010| 64 20 66 69 6c 65 73 20 | 6d 75 73 74 20 62 65 20 |d files |must be | |00001020| 6c 65 73 73 20 74 68 61 | 6e 20 33 32 4b 20 62 79 |less tha|n 32K by| |00001030| 74 65 73 2e 20 0d 0d 09 | 09 09 2d 54 4f 20 28 20 |tes. ...|..-TO ( | |00001040| 68 20 76 20 2d 2d 20 29 | 20 73 61 79 3a 20 22 6c |h v -- )| say: "l| |00001050| 69 6e 65 20 74 6f 22 20 | 20 20 44 72 61 77 20 61 |ine to" | Draw a| |00001060| 20 6c 69 6e 65 20 61 6e | 64 20 6d 6f 76 65 20 74 | line an|d move t| |00001070| 68 65 20 70 65 6e 20 74 | 6f 20 74 68 65 20 63 6f |he pen t|o the co| |00001080| 6f 72 64 69 6e 61 74 65 | 73 20 6f 6e 20 74 68 65 |ordinate|s on the| |00001090| 20 73 74 61 63 6b 2e 20 | 0d 0d 09 09 09 2d 54 52 | stack. |.....-TR| |000010a0| 41 49 4c 49 4e 47 20 28 | 20 61 64 64 72 20 63 6f |AILING (| addr co| |000010b0| 75 6e 74 20 2d 2d 20 61 | 64 64 72 20 63 6f 75 6e |unt -- a|ddr coun| |000010c0| 74 27 20 29 20 73 61 79 | 3a 20 22 64 61 73 68 2d |t' ) say|: "dash-| |000010d0| 74 72 61 69 6c 69 6e 67 | 22 20 3c 73 74 61 6e 64 |trailing|" <stand| |000010e0| 61 72 64 3e 20 20 20 41 | 73 73 75 6d 69 6e 67 20 |ard> A|ssuming | |000010f0| 73 74 72 69 6e 67 20 64 | 61 74 61 20 6f 6e 20 74 |string d|ata on t| |00001100| 68 65 20 73 74 61 63 6b | 2c 0d 09 09 09 09 61 64 |he stack|,.....ad| |00001110| 6a 75 73 74 20 74 68 65 | 20 63 6f 75 6e 74 20 74 |just the| count t| |00001120| 6f 20 65 6c 69 6d 69 6e | 61 74 65 20 74 72 61 69 |o elimin|ate trai| |00001130| 6c 69 6e 67 20 62 6c 61 | 6e 6b 73 2e 20 0d 0d 09 |ling bla|nks. ...| |00001140| 09 09 2e 20 28 20 6e 20 | 2d 2d 20 29 20 73 61 79 |... ( n |-- ) say| |00001150| 3a 20 22 64 6f 74 22 20 | 3c 73 74 61 6e 64 61 72 |: "dot" |<standar| |00001160| 64 3e 20 20 20 50 72 69 | 6e 74 20 74 68 65 20 76 |d> Pri|nt the v| |00001170| 61 6c 75 65 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |alue on |the stac| |00001180| 6b 20 61 63 63 6f 72 64 | 69 6e 67 20 74 6f 20 74 |k accord|ing to t| |00001190| 68 65 20 63 75 72 72 65 | 6e 74 20 6e 75 6d 62 65 |he curre|nt numbe| |000011a0| 72 20 62 61 73 65 2e 20 | 20 20 28 73 65 65 20 22 |r base. | (see "| |000011b0| 62 61 73 65 22 29 20 0d | 0d 09 09 09 2e 22 20 28 |base") .|....." (| |000011c0| 20 2d 2d 20 29 20 73 61 | 79 3a 20 22 64 6f 74 2d | -- ) sa|y: "dot-| |000011d0| 71 75 6f 74 65 22 20 3c | 73 74 61 6e 64 61 72 64 |quote" <|standard| |000011e0| 3e 20 20 20 55 73 65 64 | 20 69 6e 73 69 64 65 20 |> Used| inside | |000011f0| 6f 66 20 61 20 63 6f 6c | 6f 6e 20 64 65 66 69 6e |of a col|on defin| |00001200| 69 74 69 6f 6e 20 74 6f | 20 63 6f 6d 70 69 6c 65 |ition to| compile| |00001210| 20 22 70 61 72 65 6e 2d | 64 6f 74 2d 71 75 6f 74 | "paren-|dot-quot| |00001220| 65 22 0d 09 09 09 09 61 | 6e 64 20 74 68 65 20 73 |e".....a|nd the s| |00001230| 74 72 69 6e 67 20 64 61 | 74 61 20 69 6e 74 6f 20 |tring da|ta into | |00001240| 74 68 65 20 64 69 63 74 | 69 6f 6e 61 72 79 2e 20 |the dict|ionary. | |00001250| 20 54 68 65 20 73 74 72 | 69 6e 67 20 64 61 74 61 | The str|ing data| |00001260| 20 66 6f 6c 6c 6f 77 73 | 20 22 64 6f 74 2d 71 75 | follows| "dot-qu| |00001270| 6f 74 65 22 20 61 6e 64 | 20 69 73 20 64 65 6c 69 |ote" and| is deli| |00001280| 6d 69 74 65 64 20 62 79 | 20 61 6e 6f 74 68 65 72 |mited by| another| |00001290| 20 71 75 6f 74 65 2e 20 | 0d 0d 09 09 09 2e 4f 4b | quote. |......OK| |000012a0| 20 28 20 2d 2d 20 29 20 | 73 61 79 3a 20 22 64 6f | ( -- ) |say: "do| |000012b0| 74 2d 6f 68 2d 6b 61 79 | 22 20 20 20 50 72 69 6e |t-oh-kay|" Prin| |000012c0| 74 20 27 6f 6b 27 20 6f | 6e 20 74 68 65 20 73 63 |t 'ok' o|n the sc| |000012d0| 72 65 65 6e 2c 20 69 6e | 64 69 63 61 74 69 6e 67 |reen, in|dicating| |000012e0| 20 74 68 61 74 20 74 68 | 65 20 69 6e 74 65 72 70 | that th|e interp| |000012f0| 72 65 74 65 72 20 72 65 | 61 64 79 20 66 6f 72 20 |reter re|ady for | |00001300| 69 6e 70 75 74 2e 20 0d | 0d 09 09 09 2f 20 28 20 |input. .|..../ ( | |00001310| 6e 31 20 6e 32 20 2d 2d | 20 71 75 6f 74 69 65 6e |n1 n2 --| quotien| |00001320| 74 20 29 20 73 61 79 3a | 20 22 73 6c 61 73 68 22 |t ) say:| "slash"| |00001330| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 44 69 | <standa|rd> Di| |00001340| 76 69 64 65 20 6e 31 20 | 62 79 20 6e 32 20 61 6e |vide n1 |by n2 an| |00001350| 64 20 6c 65 61 76 65 20 | 74 68 65 20 31 36 20 62 |d leave |the 16 b| |00001360| 69 74 20 71 75 6f 74 69 | 65 6e 74 20 6f 6e 20 74 |it quoti|ent on t| |00001370| 68 65 20 73 74 61 63 6b | 2e 20 0d 0d 09 09 09 2f |he stack|. ...../| |00001380| 4d 4f 44 20 28 20 6e 31 | 20 6e 32 20 2d 2d 20 71 |MOD ( n1| n2 -- q| |00001390| 75 6f 74 69 65 6e 74 20 | 72 65 6d 61 69 6e 64 65 |uotient |remainde| |000013a0| 72 20 29 20 73 61 79 3a | 20 22 73 6c 61 73 68 2d |r ) say:| "slash-| |000013b0| 6d 6f 64 22 20 3c 73 74 | 61 6e 64 61 72 64 3e 20 |mod" <st|andard> | |000013c0| 20 20 44 69 76 69 64 65 | 20 6e 31 20 62 79 20 6e | Divide| n1 by n| |000013d0| 32 20 61 6e 64 20 6c 65 | 61 76 65 20 74 68 65 20 |2 and le|ave the | |000013e0| 31 36 20 62 69 74 0d 09 | 09 09 09 71 75 6f 74 69 |16 bit..|...quoti| |000013f0| 65 6e 74 20 61 6e 64 20 | 31 36 20 62 69 74 20 72 |ent and |16 bit r| |00001400| 65 6d 61 69 6e 64 65 72 | 20 6f 6e 20 74 68 65 20 |emainder| on the | |00001410| 73 74 61 63 6b 2e 20 0d | 0d 09 09 09 30 3c 20 28 |stack. .|....0< (| |00001420| 20 6e 20 2d 2d 20 66 6c | 61 67 20 29 20 73 61 79 | n -- fl|ag ) say| |00001430| 3a 20 22 7a 65 72 6f 2d | 6c 65 73 73 2d 74 68 61 |: "zero-|less-tha| |00001440| 6e 22 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |n" <stan|dard> | |00001450| 4c 65 61 76 65 20 61 20 | 6e 65 67 61 74 69 76 65 |Leave a |negative| |00001460| 20 6f 6e 65 20 6f 6e 20 | 74 68 65 20 73 74 61 63 | one on |the stac| |00001470| 6b 20 69 66 20 6e 20 69 | 73 20 6c 65 73 73 20 74 |k if n i|s less t| |00001480| 68 61 6e 20 7a 65 72 6f | 2e 0d 09 09 09 09 4f 74 |han zero|......Ot| |00001490| 68 65 72 77 69 73 65 20 | 6c 65 61 76 65 20 61 20 |herwise |leave a | |000014a0| 7a 65 72 6f 2e 20 0d 0d | 09 09 09 30 3d 20 28 20 |zero. ..|...0= ( | |000014b0| 6e 20 2d 2d 20 66 6c 61 | 67 20 29 20 73 61 79 3a |n -- fla|g ) say:| |000014c0| 20 22 7a 65 72 6f 2d 65 | 71 75 61 6c 22 20 3c 73 | "zero-e|qual" <s| |000014d0| 74 61 6e 64 61 72 64 3e | 20 20 20 4c 65 61 76 65 |tandard>| Leave| |000014e0| 20 61 20 74 72 75 65 20 | 66 6c 61 67 20 6f 6e 20 | a true |flag on | |000014f0| 74 68 65 20 73 74 61 63 | 6b 20 69 66 20 6e 20 69 |the stac|k if n i| |00001500| 73 20 7a 65 72 6f 2e 20 | 20 4f 74 68 65 72 77 69 |s zero. | Otherwi| |00001510| 73 65 20 6c 65 61 76 65 | 0d 09 09 09 09 61 20 7a |se leave|.....a z| |00001520| 65 72 6f 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |ero on t|he stack| |00001530| 2e 20 0d 0d 09 09 09 30 | 3e 20 28 20 6e 20 2d 2d |. .....0|> ( n --| |00001540| 20 66 6c 61 67 20 29 20 | 73 61 79 3a 20 22 7a 65 | flag ) |say: "ze| |00001550| 72 6f 2d 6d 6f 72 65 2d | 74 68 61 6e 22 20 6f 72 |ro-more-|than" or| |00001560| 20 22 7a 65 72 6f 2d 67 | 72 65 61 74 65 72 2d 74 | "zero-g|reater-t| |00001570| 68 61 6e 22 20 20 3c 73 | 74 61 6e 64 61 72 64 3e |han" <s|tandard>| |00001580| 20 20 20 4c 65 61 76 65 | 20 61 20 74 72 75 65 20 | Leave| a true | |00001590| 66 6c 61 67 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |flag on |the stac| |000015a0| 6b 0d 09 09 09 09 69 66 | 20 6e 20 69 73 20 67 72 |k.....if| n is gr| |000015b0| 65 61 74 65 72 20 74 68 | 61 6e 20 7a 65 72 6f 2e |eater th|an zero.| |000015c0| 20 20 4f 74 68 65 72 77 | 69 73 65 20 6c 65 61 76 | Otherw|ise leav| |000015d0| 65 20 61 20 7a 65 72 6f | 2e 20 0d 0d 09 09 09 31 |e a zero|. .....1| |000015e0| 2b 20 28 20 6e 20 2d 2d | 20 6e 2b 31 20 29 20 73 |+ ( n --| n+1 ) s| |000015f0| 61 79 3a 20 22 6f 6e 65 | 2d 70 6c 75 73 22 20 20 |ay: "one|-plus" | |00001600| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 41 64 64 |<standar|d> Add| |00001610| 20 6f 6e 65 20 74 6f 20 | 74 68 65 20 76 61 6c 75 | one to |the valu| |00001620| 65 2c 20 6e 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |e, n on |the stac| |00001630| 6b 2e 20 20 4c 65 61 76 | 65 20 74 68 65 20 72 65 |k. Leav|e the re| |00001640| 73 75 6c 74 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |sult on |the stac| |00001650| 6b 2e 20 0d 0d 09 09 09 | 32 21 20 28 20 64 20 61 |k. .....|2! ( d a| |00001660| 64 64 72 20 2d 2d 20 29 | 20 73 61 79 3a 20 22 74 |ddr -- )| say: "t| |00001670| 77 6f 20 73 74 6f 72 65 | 22 20 20 3c 73 74 61 6e |wo store|" <stan| |00001680| 64 61 72 64 3e 20 20 20 | 53 74 6f 72 65 20 74 68 |dard> |Store th| |00001690| 65 20 33 32 20 62 69 74 | 20 6e 75 6d 62 65 72 2c |e 32 bit| number,| |000016a0| 20 64 2c 20 61 74 20 74 | 68 65 20 72 65 6c 61 74 | d, at t|he relat| |000016b0| 69 76 65 20 61 64 64 72 | 65 73 73 2c 20 61 64 64 |ive addr|ess, add| |000016c0| 72 2e 20 0d 0d 09 09 09 | 32 2b 20 28 20 6e 20 2d |r. .....|2+ ( n -| |000016d0| 2d 20 6e 2b 32 20 29 20 | 73 61 79 3a 20 22 74 77 |- n+2 ) |say: "tw| |000016e0| 6f 2d 70 6c 75 73 22 20 | 20 3c 73 74 61 6e 64 61 |o-plus" | <standa| |000016f0| 72 64 3e 20 20 20 41 64 | 64 20 74 77 6f 20 74 6f |rd> Ad|d two to| |00001700| 20 74 68 65 20 76 61 6c | 75 65 20 6f 6e 20 74 68 | the val|ue on th| |00001710| 65 20 73 74 61 63 6b 2c | 20 6c 65 61 76 65 69 6e |e stack,| leavein| |00001720| 67 20 74 68 65 20 72 65 | 73 75 6c 74 20 6f 6e 20 |g the re|sult on | |00001730| 74 68 65 20 73 74 61 63 | 6b 2e 20 0d 0d 09 09 09 |the stac|k. .....| |00001740| 32 2a 20 28 20 6e 20 2d | 2d 20 6e 2a 32 20 29 20 |2* ( n -|- n*2 ) | |00001750| 73 61 79 3a 20 22 74 77 | 6f 2d 73 74 61 72 22 20 |say: "tw|o-star" | |00001760| 6f 72 20 22 74 77 6f 2d | 74 69 6d 65 73 22 20 20 |or "two-|times" | |00001770| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 44 6f 75 |<standar|d> Dou| |00001780| 62 6c 65 20 74 68 65 20 | 76 61 6c 75 65 20 6f 6e |ble the |value on| |00001790| 20 74 68 65 20 73 74 61 | 63 6b 2e 20 0d 0d 09 09 | the sta|ck. ....| |000017a0| 09 32 3e 52 20 28 20 64 | 20 2d 2d 20 29 20 28 20 |.2>R ( d| -- ) ( | |000017b0| 72 73 74 61 63 6b 3a 20 | 2d 2d 20 64 20 29 20 73 |rstack: |-- d ) s| |000017c0| 61 79 3a 20 22 74 77 6f | 20 74 6f 20 61 72 65 22 |ay: "two| to are"| |000017d0| 20 20 20 50 75 74 20 61 | 20 33 32 20 62 69 74 20 | Put a| 32 bit | |000017e0| 6e 75 6d 62 65 72 20 6f | 6e 20 74 68 65 20 72 65 |number o|n the re| |000017f0| 74 75 72 6e 20 73 74 61 | 63 6b 2e 20 20 55 73 65 |turn sta|ck. Use| |00001800| 20 77 69 74 68 69 6e 20 | 63 6f 6c 6f 6e 20 64 65 | within |colon de| |00001810| 66 69 6e 69 74 69 6f 6e | 73 2e 20 0d 0d 09 09 09 |finition|s. .....| |00001820| 32 40 20 28 20 61 64 64 | 72 20 2d 2d 20 64 20 29 |2@ ( add|r -- d )| |00001830| 20 73 61 79 3a 20 20 22 | 74 77 6f 20 61 74 22 20 | say: "|two at" | |00001840| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 46 65 | <standa|rd> Fe| |00001850| 74 63 68 20 61 20 33 32 | 20 62 69 74 20 6e 75 6d |tch a 32| bit num| |00001860| 62 65 72 20 66 72 6f 6d | 20 72 65 6c 61 74 69 76 |ber from| relativ| |00001870| 65 20 61 64 64 72 65 73 | 73 20 6f 6e 20 74 68 65 |e addres|s on the| |00001880| 20 73 74 61 63 6b 2e 20 | 0d 0d 09 09 09 32 43 4f | stack. |.....2CO| |00001890| 4e 53 54 41 4e 54 20 28 | 20 63 6f 6d 70 69 6c 65 |NSTANT (| compile| |000018a0| 3a 20 5b 20 64 20 2d 2d | 20 5d 20 72 75 6e 3a 20 |: [ d --| ] run: | |000018b0| 5b 20 2d 2d 20 64 20 5d | 20 29 20 3c 73 74 61 6e |[ -- d ]| ) <stan| |000018c0| 64 61 72 64 3e 20 20 20 | 43 72 65 61 74 65 20 61 |dard> |Create a| |000018d0| 20 33 32 20 62 69 74 20 | 63 6f 6e 73 74 61 6e 74 | 32 bit |constant| |000018e0| 2e 20 0d 0d 09 09 09 32 | 44 52 4f 50 20 28 20 64 |. .....2|DROP ( d| |000018f0| 31 20 2d 2d 20 29 20 73 | 61 79 3a 20 22 74 77 6f |1 -- ) s|ay: "two| |00001900| 20 64 72 6f 70 22 20 3c | 73 74 61 6e 64 61 72 64 | drop" <|standard| |00001910| 3e 20 20 20 44 72 6f 70 | 20 61 20 33 32 20 62 69 |> Drop| a 32 bi| |00001920| 74 20 6e 75 6d 62 65 72 | 2e 20 0d 0d 09 09 09 32 |t number|. .....2| |00001930| 44 55 50 20 28 20 6e 31 | 20 6e 32 20 2d 2d 20 6e |DUP ( n1| n2 -- n| |00001940| 31 20 6e 32 20 6e 31 20 | 6e 32 20 29 20 73 61 79 |1 n2 n1 |n2 ) say| |00001950| 3a 20 22 74 77 6f 2d 64 | 75 70 65 22 20 3c 73 74 |: "two-d|upe" <st| |00001960| 61 6e 64 61 72 64 3e 20 | 20 20 44 75 70 6c 69 63 |andard> | Duplic| |00001970| 61 74 65 20 74 68 65 20 | 74 6f 70 20 74 77 6f 20 |ate the |top two | |00001980| 76 61 6c 75 65 73 20 6f | 6e 20 74 68 65 20 73 74 |values o|n the st| |00001990| 61 63 6b 2c 20 61 6e 64 | 20 6c 65 61 76 65 20 61 |ack, and| leave a| |000019a0| 6c 6c 0d 09 09 09 09 66 | 6f 75 72 20 76 61 6c 75 |ll.....f|our valu| |000019b0| 65 73 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 2e |es on th|e stack.| |000019c0| 20 0d 0d 09 09 09 32 4f | 56 45 52 20 28 20 64 31 | .....2O|VER ( d1| |000019d0| 20 64 32 20 2d 2d 20 64 | 31 20 64 32 20 64 31 20 | d2 -- d|1 d2 d1 | |000019e0| 29 20 73 61 79 3a 20 22 | 74 77 6f 20 6f 76 65 72 |) say: "|two over| |000019f0| 22 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 44 |" <stand|ard> D| |00001a00| 75 70 6c 69 63 61 74 65 | 20 74 68 65 20 33 32 20 |uplicate| the 32 | |00001a10| 62 69 74 20 73 65 63 6f | 6e 64 20 6e 75 6d 62 65 |bit seco|nd numbe| |00001a20| 72 20 74 6f 20 74 68 65 | 20 74 6f 70 20 6f 66 20 |r to the| top of | |00001a30| 74 68 65 20 73 74 61 63 | 6b 2e 20 0d 0d 09 09 09 |the stac|k. .....| |00001a40| 32 52 3e 20 28 20 2d 2d | 20 64 20 29 20 28 20 72 |2R> ( --| d ) ( r| |00001a50| 73 74 61 63 6b 3a 20 64 | 20 2d 2d 20 29 20 73 61 |stack: d| -- ) sa| |00001a60| 79 3a 20 22 74 77 6f 20 | 61 72 65 20 66 72 6f 6d |y: "two |are from| |00001a70| 22 20 20 20 47 65 74 20 | 61 20 33 32 20 62 69 74 |" Get |a 32 bit| |00001a80| 20 6e 75 6d 62 65 72 20 | 66 72 6f 6d 20 74 68 65 | number |from the| |00001a90| 20 72 65 74 75 72 6e 20 | 73 74 61 63 6b 2e 20 20 | return |stack. | |00001aa0| 55 73 65 20 6f 6e 6c 79 | 20 77 69 74 68 69 6e 0d |Use only| within.| |00001ab0| 09 09 09 09 61 20 63 6f | 6c 6f 6e 20 64 65 66 69 |....a co|lon defi| |00001ac0| 6e 69 74 69 6f 6e 2e 20 | 0d 0d 09 09 09 32 52 4f |nition. |.....2RO| |00001ad0| 54 20 28 20 64 31 20 64 | 32 20 64 33 20 2d 2d 20 |T ( d1 d|2 d3 -- | |00001ae0| 64 32 20 64 33 20 64 31 | 20 29 20 73 61 79 3a 20 |d2 d3 d1| ) say: | |00001af0| 22 74 77 6f 20 72 6f 74 | 65 22 20 3c 73 74 61 6e |"two rot|e" <stan| |00001b00| 64 61 72 64 3e 20 20 20 | 52 6f 74 61 74 65 20 74 |dard> |Rotate t| |00001b10| 68 65 20 74 6f 70 20 74 | 68 72 65 65 20 33 32 20 |he top t|hree 32 | |00001b20| 62 69 74 20 6e 75 6d 62 | 65 72 73 2e 20 0d 0d 09 |bit numb|ers. ...| |00001b30| 09 09 32 53 57 41 50 20 | 28 20 6e 31 20 6e 32 20 |..2SWAP |( n1 n2 | |00001b40| 6e 33 20 6e 34 20 2d 2d | 20 6e 33 20 6e 34 20 6e |n3 n4 --| n3 n4 n| |00001b50| 31 20 6e 32 20 29 20 73 | 61 79 3a 20 22 74 77 6f |1 n2 ) s|ay: "two| |00001b60| 2d 73 77 61 70 22 20 3c | 73 74 61 6e 64 61 72 64 |-swap" <|standard| |00001b70| 3e 20 20 20 52 65 76 65 | 72 73 65 20 74 68 65 20 |> Reve|rse the | |00001b80| 6f 72 64 65 72 20 6f 66 | 20 74 68 65 20 74 6f 70 |order of| the top| |00001b90| 20 74 77 6f 20 61 6e 64 | 20 74 68 65 20 73 65 63 | two and| the sec| |00001ba0| 6f 6e 64 0d 09 09 09 09 | 74 77 6f 20 76 61 6c 75 |ond.....|two valu| |00001bb0| 65 73 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 2e |es on th|e stack.| |00001bc0| 20 0d 0d 09 09 09 32 56 | 41 52 49 41 42 4c 45 20 | .....2V|ARIABLE | |00001bd0| 28 20 63 6f 6d 70 69 6c | 65 3a 20 5b 20 2d 2d 20 |( compil|e: [ -- | |00001be0| 5d 20 72 75 6e 3a 20 5b | 20 2d 2d 20 61 64 64 72 |] run: [| -- addr| |00001bf0| 20 5d 20 29 20 20 3c 73 | 74 61 6e 64 61 72 64 3e | ] ) <s|tandard>| |00001c00| 20 20 20 43 72 65 61 74 | 65 20 61 20 33 32 20 62 | Creat|e a 32 b| |00001c10| 69 74 20 76 61 72 69 61 | 62 6c 65 2e 20 20 53 65 |it varia|ble. Se| |00001c20| 65 20 63 68 61 6e 67 65 | 20 74 6f 20 22 76 61 72 |e change| to "var| |00001c30| 69 61 62 6c 65 22 2c 20 | 62 65 6c 6f 77 2e 20 0d |iable", |below. .| |00001c40| 0d 09 09 09 3a 20 28 20 | 2d 2d 20 29 20 73 61 79 |....: ( |-- ) say| |00001c50| 3a 20 22 63 6f 6c 6f 6e | 22 20 3c 73 74 61 6e 64 |: "colon|" <stand| |00001c60| 61 72 64 3e 20 20 20 22 | 43 6f 6c 6f 6e 22 20 63 |ard> "|Colon" c| |00001c70| 72 65 61 74 65 73 20 61 | 20 6e 65 77 20 77 6f 72 |reates a| new wor| |00001c80| 64 2c 20 63 61 6c 6c 65 | 64 20 61 20 63 6f 6c 6f |d, calle|d a colo| |00001c90| 6e 20 64 65 66 69 6e 69 | 74 69 6f 6e 2e 20 20 54 |n defini|tion. T| |00001ca0| 68 65 20 74 6f 6b 65 6e | 20 66 6f 6c 6c 6f 77 69 |he token| followi| |00001cb0| 6e 67 0d 09 09 09 09 22 | 63 6f 6c 6f 6e 22 20 69 |ng....."|colon" i| |00001cc0| 73 20 74 68 65 20 6e 61 | 6d 65 20 6f 66 20 74 68 |s the na|me of th| |00001cd0| 65 20 6e 65 77 20 77 6f | 72 64 2e 20 20 57 6f 72 |e new wo|rd. Wor| |00001ce0| 64 73 20 66 6f 6c 6c 6f | 77 69 6e 67 20 74 68 65 |ds follo|wing the| |00001cf0| 20 6e 61 6d 65 20 61 72 | 65 20 63 6f 6d 70 69 6c | name ar|e compil| |00001d00| 65 64 20 69 6e 74 6f 20 | 74 68 65 20 64 65 66 69 |ed into |the defi| |00001d10| 6e 69 74 69 6f 6e 20 28 | 75 6e 6c 65 73 73 20 74 |nition (|unless t| |00001d20| 68 65 79 0d 09 09 09 09 | 61 72 65 20 69 6d 6d 65 |hey.....|are imme| |00001d30| 64 69 61 74 65 29 20 75 | 6e 74 69 6c 20 61 20 22 |diate) u|ntil a "| |00001d40| 73 65 6d 69 2d 63 6f 6c | 6f 6e 22 20 69 73 20 72 |semi-col|on" is r| |00001d50| 65 61 63 68 65 64 2e 20 | 0d 0d 09 09 09 3b 20 28 |eached. |.....; (| |00001d60| 20 2d 2d 20 29 20 73 61 | 79 3a 20 22 73 65 6d 69 | -- ) sa|y: "semi| |00001d70| 2d 63 6f 6c 6f 6e 22 20 | 3c 73 74 61 6e 64 61 72 |-colon" |<standar| |00001d80| 64 3e 20 20 20 54 68 65 | 20 22 73 65 6d 69 2d 63 |d> The| "semi-c| |00001d90| 6f 6c 6f 6e 22 20 65 6e | 64 73 20 61 20 63 6f 6c |olon" en|ds a col| |00001da0| 6f 6e 20 64 65 66 69 6e | 69 74 69 6f 6e 20 61 6e |on defin|ition an| |00001db0| 64 20 63 6f 6d 70 69 6c | 65 73 20 61 20 6d 61 63 |d compil|es a mac| |00001dc0| 68 69 6e 65 20 6c 61 6e | 67 75 61 67 65 0d 09 09 |hine lan|guage...| |00001dd0| 09 09 72 65 74 75 72 6e | 20 69 6e 73 74 72 75 63 |..return| instruc| |00001de0| 74 69 6f 6e 2e 20 0d 0d | 09 09 09 3c 20 28 20 6e |tion. ..|...< ( n| |00001df0| 31 20 6e 32 20 2d 2d 20 | 66 6c 61 67 20 29 20 73 |1 n2 -- |flag ) s| |00001e00| 61 79 3a 20 22 6c 65 73 | 73 2d 74 68 61 6e 22 20 |ay: "les|s-than" | |00001e10| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 4c 65 61 |<standar|d> Lea| |00001e20| 76 65 20 61 20 74 72 75 | 65 20 66 6c 61 67 20 6f |ve a tru|e flag o| |00001e30| 6e 20 74 68 65 20 73 74 | 61 63 6b 20 69 66 20 6e |n the st|ack if n| |00001e40| 31 20 69 73 20 6c 65 73 | 73 20 74 68 61 6e 20 6e |1 is les|s than n| |00001e50| 32 2e 20 20 4f 74 68 65 | 72 77 69 73 65 0d 09 09 |2. Othe|rwise...| |00001e60| 09 09 6c 65 61 76 65 20 | 61 20 7a 65 72 6f 2e 20 |..leave |a zero. | |00001e70| 0d 0d 09 09 09 3c 23 20 | 28 20 2d 2d 20 29 20 73 |.....<# |( -- ) s| |00001e80| 61 79 3a 20 22 67 72 65 | 61 74 65 72 2d 74 68 61 |ay: "gre|ater-tha| |00001e90| 6e 2d 73 68 61 72 70 22 | 20 20 3c 73 74 61 6e 64 |n-sharp"| <stand| |00001ea0| 61 72 64 3e 20 20 20 53 | 65 74 20 75 70 20 66 6f |ard> S|et up fo| |00001eb0| 72 20 6e 75 6d 62 65 72 | 20 63 6f 6e 76 65 72 73 |r number| convers| |00001ec0| 69 6f 6e 20 62 79 20 63 | 6c 65 61 72 69 6e 67 20 |ion by c|learing | |00001ed0| 74 68 65 20 70 61 64 2c | 20 61 6e 64 20 73 65 74 |the pad,| and set| |00001ee0| 74 69 6e 67 0d 09 09 09 | 09 27 68 65 6c 64 27 20 |ting....|.'held' | |00001ef0| 74 6f 20 22 70 61 64 22 | 2d 31 2e 20 0d 0d 09 09 |to "pad"|-1. ....| |00001f00| 09 3d 20 28 20 6e 31 20 | 6e 32 20 2d 2d 20 66 6c |.= ( n1 |n2 -- fl| |00001f10| 61 67 20 29 20 73 61 79 | 3a 20 22 65 71 75 61 6c |ag ) say|: "equal| |00001f20| 22 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 4c |" <stand|ard> L| |00001f30| 65 61 76 65 20 61 20 74 | 72 75 65 20 66 6c 61 67 |eave a t|rue flag| |00001f40| 20 6f 6e 20 74 68 65 20 | 73 74 61 63 6b 20 69 66 | on the |stack if| |00001f50| 20 6e 31 20 69 73 20 74 | 68 65 20 73 61 6d 65 20 | n1 is t|he same | |00001f60| 61 73 20 6e 32 2e 20 20 | 4f 74 68 65 72 77 69 73 |as n2. |Otherwis| |00001f70| 65 0d 09 09 09 09 6c 65 | 61 76 65 20 61 20 7a 65 |e.....le|ave a ze| |00001f80| 72 6f 2e 20 0d 0d 09 09 | 09 3e 20 28 20 6e 31 20 |ro. ....|.> ( n1 | |00001f90| 6e 32 20 2d 2d 20 66 6c | 61 67 20 29 20 73 61 79 |n2 -- fl|ag ) say| |00001fa0| 3a 20 22 67 72 65 61 74 | 65 72 2d 74 68 61 6e 22 |: "great|er-than"| |00001fb0| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 4c 65 | <standa|rd> Le| |00001fc0| 61 76 65 20 61 20 74 72 | 75 65 20 66 6c 61 67 20 |ave a tr|ue flag | |00001fd0| 6f 6e 20 74 68 65 20 73 | 74 61 63 6b 20 69 66 20 |on the s|tack if | |00001fe0| 6e 31 20 69 73 20 6d 6f | 72 65 20 74 68 61 6e 20 |n1 is mo|re than | |00001ff0| 6e 32 2e 0d 09 09 09 09 | 4f 74 68 65 72 77 69 73 |n2......|Otherwis| |00002000| 65 20 6c 65 61 76 65 20 | 61 20 7a 65 72 6f 2e 20 |e leave |a zero. | |00002010| 0d 0d 09 09 09 3e 41 42 | 53 20 28 20 61 64 64 72 |.....>AB|S ( addr| |00002020| 31 36 20 2d 2d 20 64 61 | 64 64 72 33 32 20 29 20 |16 -- da|ddr32 ) | |00002030| 73 61 79 3a 20 22 74 6f | 2d 61 62 73 22 20 20 20 |say: "to|-abs" | |00002040| 43 6f 6e 76 65 72 74 20 | 61 20 72 65 6c 61 74 69 |Convert |a relati| |00002050| 76 65 20 61 64 64 72 65 | 73 73 20 6f 6e 20 74 68 |ve addre|ss on th| |00002060| 65 20 73 74 61 63 6b 20 | 74 6f 20 61 20 64 6f 75 |e stack |to a dou| |00002070| 62 6c 65 20 6e 75 6d 62 | 65 72 0d 09 09 09 09 61 |ble numb|er.....a| |00002080| 62 73 6f 6c 75 74 65 20 | 61 64 64 72 65 73 73 2e |bsolute |address.| |00002090| 20 20 20 28 73 65 65 20 | 22 3e 72 65 6c 22 29 20 | (see |">rel") | |000020a0| 0d 0d 09 09 09 3e 4c 49 | 4e 4b 20 28 20 61 64 64 |.....>LI|NK ( add| |000020b0| 72 20 2d 2d 20 6c 69 6e | 6b 2e 61 64 64 72 20 29 |r -- lin|k.addr )| |000020c0| 20 73 61 79 3a 20 22 74 | 6f 20 6c 69 6e 6b 22 20 | say: "t|o link" | |000020d0| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 52 65 | <standa|rd> Re| |000020e0| 74 75 72 6e 20 74 68 65 | 20 72 65 6c 61 74 69 76 |turn the| relativ| |000020f0| 65 20 61 64 64 72 65 73 | 73 20 6f 66 20 74 68 65 |e addres|s of the| |00002100| 20 6c 69 6e 6b 20 66 69 | 65 6c 64 20 6f 66 20 74 | link fi|eld of t| |00002110| 68 65 20 77 6f 72 64 0d | 09 09 09 09 77 68 6f 73 |he word.|....whos| |00002120| 65 20 61 64 64 72 65 73 | 73 20 69 73 20 6f 6e 20 |e addres|s is on | |00002130| 20 20 74 68 65 20 73 74 | 61 63 6b 2e 20 0d 0d 09 | the st|ack. ...| |00002140| 09 09 3e 4e 41 4d 45 20 | 28 20 61 64 64 72 20 2d |..>NAME |( addr -| |00002150| 2d 20 6e 61 6d 65 2e 61 | 64 64 72 20 29 20 73 61 |- name.a|ddr ) sa| |00002160| 79 3a 20 22 74 6f 20 6e | 61 6d 65 22 20 20 3c 73 |y: "to n|ame" <s| |00002170| 74 61 6e 64 61 72 64 3e | 20 20 20 4c 65 61 76 65 |tandard>| Leave| |00002180| 20 74 68 65 20 72 65 6c | 61 74 69 76 65 20 61 64 | the rel|ative ad| |00002190| 64 72 65 73 73 20 6f 66 | 20 74 68 65 20 6e 61 6d |dress of| the nam| |000021a0| 65 20 66 69 65 6c 64 20 | 6f 66 20 74 68 65 0d 09 |e field |of the..| |000021b0| 09 09 09 77 6f 72 64 20 | 77 68 6f 73 65 20 61 64 |...word |whose ad| |000021c0| 64 72 65 73 73 20 69 73 | 20 6f 6e 20 74 68 65 20 |dress is| on the | |000021d0| 73 74 61 63 6b 2e 20 0d | 0d 09 09 09 3e 52 20 28 |stack. .|....>R (| |000021e0| 20 6e 20 2d 2d 20 29 20 | 72 65 74 75 72 6e 20 73 | n -- ) |return s| |000021f0| 74 61 63 6b 3a 20 28 20 | 2d 2d 20 6e 20 29 20 73 |tack: ( |-- n ) s| |00002200| 61 79 3a 20 22 74 6f 2d | 61 72 65 22 20 3c 73 74 |ay: "to-|are" <st| |00002210| 61 6e 64 61 72 64 3e 20 | 20 20 52 65 6d 6f 76 65 |andard> | Remove| |00002220| 20 61 20 76 61 6c 75 65 | 20 66 72 6f 6d 20 74 68 | a value| from th| |00002230| 65 20 70 61 72 61 6d 65 | 74 65 72 20 73 74 61 63 |e parame|ter stac| |00002240| 6b 20 61 6e 64 0d 09 09 | 09 09 70 6c 61 63 65 20 |k and...|..place | |00002250| 69 74 20 6f 6e 20 74 68 | 65 20 72 65 74 75 72 6e |it on th|e return| |00002260| 20 73 74 61 63 6b 2e 20 | 20 20 28 73 65 65 20 22 | stack. | (see "| |00002270| 61 72 65 2d 66 72 6f 6d | 22 29 20 0d 0d 09 09 09 |are-from|") .....| |00002280| 3e 52 45 4c 20 28 20 64 | 61 64 64 72 33 32 20 2d |>REL ( d|addr32 -| |00002290| 2d 20 61 64 64 72 31 36 | 20 29 20 73 61 79 3a 20 |- addr16| ) say: | |000022a0| 22 74 6f 2d 72 65 6c 22 | 20 20 20 43 6f 6e 76 65 |"to-rel"| Conve| |000022b0| 72 74 20 61 20 64 6f 75 | 62 6c 65 20 6e 75 6d 62 |rt a dou|ble numb| |000022c0| 65 72 20 61 62 73 6f 6c | 75 74 65 20 61 64 64 72 |er absol|ute addr| |000022d0| 65 73 73 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |ess on t|he stack| |000022e0| 20 74 6f 20 61 20 72 65 | 6c 61 74 69 76 65 0d 09 | to a re|lative..| |000022f0| 09 09 09 61 64 64 72 65 | 73 73 2e 20 0d 0d 09 09 |...addre|ss. ....| |00002300| 09 3f 42 55 54 54 4f 4e | 20 28 20 2d 2d 20 66 6c |.?BUTTON| ( -- fl| |00002310| 61 67 20 29 20 73 61 79 | 3a 20 22 71 75 65 73 74 |ag ) say|: "quest| |00002320| 69 6f 6e 20 62 75 74 74 | 6f 6e 22 20 20 20 54 68 |ion butt|on" Th| |00002330| 65 20 66 6c 61 67 20 69 | 73 20 74 72 75 65 20 69 |e flag i|s true i| |00002340| 66 20 74 68 65 20 6d 6f | 75 73 65 20 62 75 74 74 |f the mo|use butt| |00002350| 6f 6e 20 69 73 20 64 6f | 77 6e 2c 20 66 61 6c 73 |on is do|wn, fals| |00002360| 65 20 69 66 20 75 70 2e | 20 0d 0d 09 09 09 3f 44 |e if up.| .....?D| |00002370| 55 50 20 28 20 6e 20 2d | 2d 20 6e 20 6e 20 4f 52 |UP ( n -|- n n OR| |00002380| 20 6e 20 5b 69 66 20 6e | 3d 30 5d 20 29 20 73 61 | n [if n|=0] ) sa| |00002390| 79 3a 20 22 71 75 65 73 | 74 69 6f 6e 2d 64 75 70 |y: "ques|tion-dup| |000023a0| 65 22 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |e" <stan|dard> | |000023b0| 44 75 70 6c 69 63 61 74 | 65 20 74 68 65 20 76 61 |Duplicat|e the va| |000023c0| 6c 75 65 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |lue on t|he stack| |000023d0| 20 6f 6e 6c 79 20 69 66 | 20 69 74 20 69 73 0d 09 | only if| it is..| |000023e0| 09 09 09 6e 6f 74 20 7a | 65 72 6f 2e 20 0d 0d 09 |...not z|ero. ...| |000023f0| 09 09 3f 53 54 41 43 4b | 20 28 20 3f 20 2d 2d 20 |..?STACK| ( ? -- | |00002400| 29 20 73 61 79 3a 20 22 | 71 75 65 73 74 69 6f 6e |) say: "|question| |00002410| 2d 73 74 61 63 6b 22 20 | 20 20 50 72 69 6e 74 20 |-stack" | Print | |00002420| 61 20 77 61 72 6e 69 6e | 67 2c 20 27 2a 3f 27 20 |a warnin|g, '*?' | |00002430| 69 66 20 73 74 61 63 6b | 20 75 6e 64 65 72 66 6c |if stack| underfl| |00002440| 6f 77 20 68 61 73 20 6f | 63 63 75 72 65 64 2e 20 |ow has o|ccured. | |00002450| 0d 0d 09 09 09 3f 54 45 | 52 4d 49 4e 41 4c 20 28 |.....?TE|RMINAL (| |00002460| 20 2d 2d 20 66 6c 61 67 | 20 29 20 73 61 79 3a 20 | -- flag| ) say: | |00002470| 22 71 75 65 73 74 69 6f | 6e 2d 74 65 72 6d 69 6e |"questio|n-termin| |00002480| 61 6c 22 20 3c 73 74 61 | 6e 64 61 72 64 3e 20 20 |al" <sta|ndard> | |00002490| 20 4c 65 61 76 65 20 61 | 20 74 72 75 65 20 66 6c | Leave a| true fl| |000024a0| 61 67 20 69 66 20 61 20 | 6b 65 79 20 68 61 73 20 |ag if a |key has | |000024b0| 62 65 65 6e 20 70 72 65 | 73 73 65 64 2e 20 20 49 |been pre|ssed. I| |000024c0| 6e 20 74 68 65 0d 09 09 | 09 09 61 70 70 6c 69 63 |n the...|..applic| |000024d0| 61 74 69 6f 6e 20 76 65 | 72 73 69 6f 6e 2c 20 4d |ation ve|rsion, M| |000024e0| 61 63 69 6e 74 6f 73 68 | 20 65 76 65 6e 74 73 20 |acintosh| events | |000024f0| 61 72 65 20 68 61 6e 64 | 6c 65 64 20 62 79 20 22 |are hand|led by "| |00002500| 3f 74 65 72 6d 69 6e 61 | 6c 22 2e 20 0d 0d 09 09 |?termina|l". ....| |00002510| 09 40 20 28 20 61 64 64 | 72 20 2d 2d 20 6e 20 29 |.@ ( add|r -- n )| |00002520| 20 73 61 79 3a 20 22 61 | 74 22 20 28 73 6f 6d 65 | say: "a|t" (some| |00002530| 20 70 65 6f 70 6c 65 20 | 73 61 79 3a 20 22 66 65 | people |say: "fe| |00002540| 74 63 68 22 29 20 3c 73 | 74 61 6e 64 61 72 64 3e |tch") <s|tandard>| |00002550| 20 20 20 4c 65 61 76 65 | 20 74 68 65 20 76 61 6c | Leave| the val| |00002560| 75 65 20 66 6f 75 6e 64 | 20 61 74 20 74 68 65 20 |ue found| at the | |00002570| 72 65 6c 61 74 69 76 65 | 20 61 64 64 72 65 73 73 |relative| address| |00002580| 0d 09 09 09 09 6f 6e 20 | 74 68 65 20 73 74 61 63 |.....on |the stac| |00002590| 6b 2e 20 20 54 68 65 20 | 61 64 64 72 65 73 73 20 |k. The |address | |000025a0| 6d 75 73 74 20 62 65 20 | 65 76 65 6e 2e 20 0d 0d |must be |even. ..| |000025b0| 09 09 09 40 4d 4f 55 53 | 45 20 20 28 20 2d 2d 20 |...@MOUS|E ( -- | |000025c0| 68 20 76 20 29 20 73 61 | 79 3a 20 22 61 74 20 6d |h v ) sa|y: "at m| |000025d0| 6f 75 73 65 22 20 20 20 | 47 65 74 20 74 68 65 20 |ouse" |Get the | |000025e0| 63 6f 6f 72 64 69 6e 61 | 74 65 73 20 6f 66 20 74 |coordina|tes of t| |000025f0| 68 65 20 6d 6f 75 73 65 | 20 70 6f 69 6e 74 65 72 |he mouse| pointer| |00002600| 2e 20 0d 0d 09 09 09 40 | 50 45 4e 20 28 20 2d 2d |. .....@|PEN ( --| |00002610| 20 68 20 76 20 29 20 73 | 61 79 3a 20 22 61 74 20 | h v ) s|ay: "at | |00002620| 70 65 6e 22 20 20 20 47 | 65 74 20 74 68 65 20 63 |pen" G|et the c| |00002630| 6f 6f 72 64 69 6e 61 74 | 65 73 20 6f 66 20 74 68 |oordinat|es of th| |00002640| 65 20 67 72 61 70 68 69 | 63 73 20 70 65 6e 20 70 |e graphi|cs pen p| |00002650| 65 6e 2e 20 0d 0d 09 09 | 09 41 3e 52 20 28 20 61 |en. ....|.A>R ( a| |00002660| 64 64 72 20 2d 2d 20 3a | 20 2d 2d 20 64 61 62 73 |ddr -- :| -- dabs| |00002670| 2e 61 64 64 72 20 29 20 | 73 61 79 3a 20 22 61 20 |.addr ) |say: "a | |00002680| 74 6f 20 61 72 65 22 20 | 20 20 43 6f 6e 76 65 72 |to are" | Conver| |00002690| 74 20 61 6e 20 61 64 64 | 72 65 73 73 20 74 6f 20 |t an add|ress to | |000026a0| 61 62 73 6f 6c 75 74 65 | 2c 20 61 6e 64 20 70 75 |absolute|, and pu| |000026b0| 74 20 69 74 20 6f 6e 20 | 74 68 65 20 72 65 74 75 |t it on |the retu| |000026c0| 72 6e 20 73 74 61 63 6b | 2e 20 0d 09 09 09 09 54 |rn stack|. .....T| |000026d0| 68 69 73 20 77 6f 72 64 | 20 69 73 20 75 73 65 64 |his word| is used| |000026e0| 20 66 6f 72 20 73 79 73 | 74 65 6d 20 74 72 61 70 | for sys|tem trap| |000026f0| 20 73 65 74 75 70 2e 20 | 20 55 73 65 20 6f 6e 6c | setup. | Use onl| |00002700| 79 20 77 69 74 68 69 6e | 20 61 20 63 6f 6c 6f 6e |y within| a colon| |00002710| 20 64 65 66 69 6e 69 74 | 69 6f 6e 2e 20 0d 0d 09 | definit|ion. ...| |00002720| 09 09 41 42 4f 52 54 20 | 28 20 2d 2d 20 29 20 20 |..ABORT |( -- ) | |00002730| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 53 74 6f |<standar|d> Sto| |00002740| 70 20 65 78 65 63 75 74 | 69 6f 6e 2c 20 70 72 69 |p execut|ion, pri| |00002750| 6e 74 20 61 20 77 61 72 | 6e 69 6e 67 2c 20 27 3f |nt a war|ning, '?| |00002760| 27 20 61 6e 64 20 72 65 | 74 75 72 6e 20 74 6f 20 |' and re|turn to | |00002770| 74 68 65 20 69 6e 74 65 | 72 70 72 65 74 65 72 20 |the inte|rpreter | |00002780| 6c 6f 6f 70 2e 20 0d 0d | 09 09 09 41 47 41 49 4e |loop. ..|...AGAIN| |00002790| 20 20 77 68 69 6c 65 20 | 63 6f 6d 70 69 6c 69 6e | while |compilin| |000027a0| 67 3a 20 28 20 61 64 64 | 72 20 2d 2d 20 29 20 20 |g: ( add|r -- ) | |000027b0| 77 68 69 6c 65 20 65 78 | 65 63 75 74 69 6e 67 3a |while ex|ecuting:| |000027c0| 20 28 20 2d 2d 20 29 20 | 20 3c 73 74 61 6e 64 61 | ( -- ) | <standa| |000027d0| 72 64 3e 20 20 20 55 73 | 65 64 20 74 6f 20 63 6f |rd> Us|ed to co| |000027e0| 6d 70 69 6c 65 20 61 6e | 20 75 6e 63 6f 6e 64 69 |mpile an| uncondi| |000027f0| 74 69 6f 6e 61 6c 20 62 | 72 61 6e 63 68 0d 09 09 |tional b|ranch...| |00002800| 09 09 74 6f 20 61 20 72 | 65 6c 61 74 69 76 65 20 |..to a r|elative | |00002810| 61 64 64 72 65 73 73 20 | 6c 65 66 74 20 62 79 20 |address |left by | |00002820| 22 62 65 67 69 6e 22 2e | 20 20 28 73 65 65 20 22 |"begin".| (see "| |00002830| 62 65 67 69 6e 22 20 61 | 6e 64 20 22 62 61 63 6b |begin" a|nd "back| |00002840| 22 29 20 20 22 41 67 61 | 69 6e 22 20 69 73 20 61 |") "Aga|in" is a| |00002850| 6e 20 69 6d 6d 65 64 69 | 61 74 65 20 77 6f 72 64 |n immedi|ate word| |00002860| 2e 20 0d 0d 09 09 09 41 | 4c 4c 4f 54 20 28 20 6e |. .....A|LLOT ( n| |00002870| 20 2d 2d 20 29 20 20 3c | 73 74 61 6e 64 61 72 64 | -- ) <|standard| |00002880| 3e 20 20 20 41 6c 6c 6f | 63 61 74 65 20 61 6e 64 |> Allo|cate and| |00002890| 20 65 6e 63 6c 6f 73 65 | 20 6e 20 62 79 74 65 73 | enclose| n bytes| |000028a0| 20 69 6e 20 74 68 65 20 | 64 69 63 74 69 6f 6e 61 | in the |dictiona| |000028b0| 72 79 2e 20 20 49 66 20 | 6e 20 69 73 20 6f 64 64 |ry. If |n is odd| |000028c0| 2c 20 6e 2b 31 20 62 79 | 74 65 73 20 77 69 6c 6c |, n+1 by|tes will| |000028d0| 20 62 65 0d 09 09 09 09 | 61 6c 6c 6f 63 61 74 65 | be.....|allocate| |000028e0| 64 2e 20 20 54 68 65 20 | 76 61 6c 75 65 20 6f 66 |d. The |value of| |000028f0| 20 74 68 65 20 62 79 74 | 65 73 20 69 73 20 75 6e | the byt|es is un| |00002900| 64 65 66 69 6e 65 64 20 | 61 74 20 63 6f 6d 70 69 |defined |at compi| |00002910| 6c 65 20 74 69 6d 65 2e | 20 0d 0d 09 09 09 41 4e |le time.| .....AN| |00002920| 44 20 28 20 6e 31 20 6e | 32 20 2d 2d 20 6e 31 41 |D ( n1 n|2 -- n1A| |00002930| 4e 44 6e 32 20 29 20 20 | 3c 73 74 61 6e 64 61 72 |NDn2 ) |<standar| |00002940| 64 3e 20 20 20 4c 65 61 | 76 65 20 74 68 65 20 72 |d> Lea|ve the r| |00002950| 65 73 75 6c 74 20 6f 66 | 20 6e 31 20 41 4e 44 20 |esult of| n1 AND | |00002960| 6e 32 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 2e |n2 on th|e stack.| |00002970| 20 20 54 68 65 20 76 61 | 6c 75 65 20 69 73 20 63 | The va|lue is c| |00002980| 6f 6d 70 75 74 65 64 20 | 62 69 74 77 69 73 65 2e |omputed |bitwise.| |00002990| 20 0d 0d 09 09 09 42 41 | 43 4b 20 77 68 69 6c 65 | .....BA|CK while| |000029a0| 20 63 6f 6d 70 69 6c 69 | 6e 67 3a 20 28 20 61 64 | compili|ng: ( ad| |000029b0| 64 72 20 2d 2d 20 29 20 | 20 6e 6f 20 65 78 65 63 |dr -- ) | no exec| |000029c0| 75 74 69 6f 6e 20 62 65 | 68 61 76 69 6f 72 20 20 |ution be|havior | |000029d0| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 43 6f 6d |<standar|d> Com| |000029e0| 70 69 6c 65 73 20 74 68 | 65 20 64 69 66 66 65 72 |piles th|e differ| |000029f0| 65 6e 63 65 20 62 65 74 | 77 65 65 6e 20 74 68 65 |ence bet|ween the| |00002a00| 0d 09 09 09 09 63 75 72 | 72 65 6e 74 20 63 6f 6d |.....cur|rent com| |00002a10| 70 69 6c 61 74 69 6f 6e | 20 61 64 64 72 65 73 73 |pilation| address| |00002a20| 20 61 6e 64 20 74 68 65 | 20 61 64 64 72 65 73 73 | and the| address| |00002a30| 20 6f 6e 20 74 68 65 20 | 73 74 61 63 6b 2e 20 20 | on the |stack. | |00002a40| 22 42 61 63 6b 22 20 69 | 73 20 75 73 65 64 20 62 |"Back" i|s used b| |00002a50| 79 20 22 61 67 61 69 6e | 22 2c 20 22 72 65 70 65 |y "again|", "repe| |00002a60| 61 74 22 20 61 6e 64 20 | 22 75 6e 74 69 6c 22 2e |at" and |"until".| |00002a70| 20 0d 09 09 09 09 28 61 | 6c 73 6f 20 73 65 65 20 | .....(a|lso see | |00002a80| 22 62 65 67 69 6e 22 20 | 61 6e 64 20 22 77 68 69 |"begin" |and "whi| |00002a90| 6c 65 22 29 20 0d 0d 09 | 09 09 42 41 53 45 20 28 |le") ...|..BASE (| |00002aa0| 20 2d 2d 20 61 64 64 72 | 20 29 20 20 3c 73 74 61 | -- addr| ) <sta| |00002ab0| 6e 64 61 72 64 3e 20 20 | 20 22 42 61 73 65 22 20 |ndard> | "Base" | |00002ac0| 6c 65 61 76 65 73 20 74 | 68 65 20 61 64 64 72 65 |leaves t|he addre| |00002ad0| 73 73 20 6f 66 20 61 20 | 76 61 72 69 61 62 6c 65 |ss of a |variable| |00002ae0| 20 63 6f 6e 74 61 69 6e | 69 6e 67 20 74 68 65 20 | contain|ing the | |00002af0| 63 75 72 72 65 6e 74 20 | 6e 75 6d 62 65 72 20 62 |current |number b| |00002b00| 61 73 65 2e 20 0d 0d 09 | 09 09 42 45 45 50 20 28 |ase. ...|..BEEP (| |00002b10| 20 2d 2d 20 29 20 20 20 | 43 61 75 73 65 73 20 74 | -- ) |Causes t| |00002b20| 68 65 20 73 70 65 61 6b | 65 72 20 74 6f 20 62 65 |he speak|er to be| |00002b30| 65 70 20 61 74 20 74 68 | 65 20 63 75 72 72 65 6e |ep at th|e curren| |00002b40| 74 20 76 6f 6c 75 6d 65 | 2e 20 0d 0d 09 09 09 42 |t volume|. .....B| |00002b50| 45 47 49 4e 20 28 20 2d | 2d 20 29 20 20 3c 73 74 |EGIN ( -|- ) <st| |00002b60| 61 6e 64 61 72 64 3e 20 | 20 20 22 42 65 67 69 6e |andard> | "Begin| |00002b70| 22 20 73 74 61 72 74 73 | 20 61 20 63 6f 6e 64 69 |" starts| a condi| |00002b80| 74 69 6f 6e 61 6c 20 6f | 72 20 75 6e 63 6f 6e 64 |tional o|r uncond| |00002b90| 69 74 69 6f 6e 61 6c 20 | 6c 6f 6f 70 20 69 6e 20 |itional |loop in | |00002ba0| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 6d 61 |the foll|owing ma| |00002bb0| 6e 6e 65 72 3a 0d 09 09 | 09 09 09 42 45 47 49 4e |nner:...|...BEGIN| |00002bc0| 20 c9 20 28 20 2d 2d 20 | 66 6c 61 67 20 29 20 57 | . ( -- |flag ) W| |00002bd0| 48 49 4c 45 20 c9 20 52 | 45 50 45 41 54 2c 0d 09 |HILE . R|EPEAT,..| |00002be0| 09 09 09 09 42 45 47 49 | 4e 20 c9 20 28 20 2d 2d |....BEGI|N . ( --| |00002bf0| 20 66 6c 61 67 20 29 20 | 55 4e 54 49 4c 20 61 6e | flag ) |UNTIL an| |00002c00| 64 0d 09 09 09 09 09 42 | 45 47 49 4e 20 c9 20 41 |d......B|EGIN . A| |00002c10| 47 41 49 4e 0d 09 09 09 | 09 22 42 65 67 69 6e 22 |GAIN....|."Begin"| |00002c20| 20 69 73 20 61 6e 20 69 | 6d 6d 65 64 69 61 74 65 | is an i|mmediate| |00002c30| 20 77 6f 72 64 20 61 6e | 64 20 69 73 20 75 73 65 | word an|d is use| |00002c40| 64 20 77 69 74 68 69 6e | 20 61 20 63 6f 6c 6f 6e |d within| a colon| |00002c50| 20 64 65 66 69 6e 69 74 | 69 6f 6e 2e 20 20 28 73 | definit|ion. (s| |00002c60| 65 65 20 22 77 68 69 6c | 65 22 2c 20 22 61 67 61 |ee "whil|e", "aga| |00002c70| 69 6e 22 2c 20 22 72 65 | 70 65 61 74 22 20 61 6e |in", "re|peat" an| |00002c80| 64 20 22 75 6e 74 69 6c | 22 29 20 0d 0d 09 09 09 |d "until|") .....| |00002c90| 43 21 20 28 20 63 20 61 | 64 64 72 20 2d 2d 20 29 |C! ( c a|ddr -- )| |00002ca0| 20 73 61 79 3a 20 22 73 | 65 61 2d 73 74 6f 72 65 | say: "s|ea-store| |00002cb0| 22 20 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |" <stan|dard> | |00002cc0| 53 74 6f 72 65 20 74 68 | 65 20 38 20 62 69 74 20 |Store th|e 8 bit | |00002cd0| 76 61 6c 75 65 20 61 74 | 20 74 68 65 20 72 65 6c |value at| the rel| |00002ce0| 61 74 69 76 65 20 61 64 | 64 72 65 73 73 20 28 65 |ative ad|dress (e| |00002cf0| 76 65 6e 20 6f 72 20 6f | 64 64 29 2e 20 0d 0d 09 |ven or o|dd). ...| |00002d00| 09 09 43 40 20 28 20 61 | 64 64 72 20 2d 2d 20 63 |..C@ ( a|ddr -- c| |00002d10| 20 29 20 73 61 79 3a 20 | 22 73 65 61 2d 61 74 22 | ) say: |"sea-at"| |00002d20| 20 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 52 | <stand|ard> R| |00002d30| 65 74 72 69 65 76 65 20 | 74 68 65 20 38 20 62 69 |etrieve |the 8 bi| |00002d40| 74 20 76 61 6c 75 65 20 | 66 6f 75 6e 64 20 61 74 |t value |found at| |00002d50| 20 74 68 65 20 61 64 64 | 72 65 73 73 20 28 65 76 | the add|ress (ev| |00002d60| 65 6e 20 6f 72 20 6f 64 | 64 29 20 74 6f 20 74 68 |en or od|d) to th| |00002d70| 65 20 73 74 61 63 6b 2e | 20 20 0d 0d 09 09 09 43 |e stack.| .....C| |00002d80| 42 4c 4b 20 28 20 2d 2d | 20 61 64 64 72 20 29 20 |BLK ( --| addr ) | |00002d90| 73 61 79 3a 20 22 73 65 | 61 2d 62 65 65 2d 65 6c |say: "se|a-bee-el| |00002da0| 2d 6b 61 79 22 20 20 20 | 52 65 74 75 72 6e 73 20 |-kay" |Returns | |00002db0| 61 20 72 65 6c 61 74 69 | 76 65 20 61 64 64 72 65 |a relati|ve addre| |00002dc0| 73 73 20 77 68 69 63 68 | 20 63 6f 6e 74 61 69 6e |ss which| contain| |00002dd0| 73 20 61 20 62 79 74 65 | 20 76 61 6c 75 65 2e 20 |s a byte| value. | |00002de0| 20 49 66 20 74 68 65 20 | 76 61 6c 75 65 0d 09 09 | If the |value...| |00002df0| 09 09 69 73 20 31 32 38 | 2c 20 74 68 65 6e 20 74 |..is 128|, then t| |00002e00| 68 65 20 69 6e 74 65 72 | 70 72 65 74 65 72 20 6c |he inter|preter l| |00002e10| 6f 6f 6b 73 20 66 6f 72 | 20 69 6e 70 75 74 20 66 |ooks for| input f| |00002e20| 72 6f 6d 20 74 68 65 20 | 6b 65 79 62 6f 61 72 64 |rom the |keyboard| |00002e30| 2e 20 20 41 20 7a 65 72 | 6f 20 76 61 6c 75 65 20 |. A zer|o value | |00002e40| 63 61 75 73 65 73 20 74 | 65 78 74 20 74 6f 20 62 |causes t|ext to b| |00002e50| 65 20 69 6e 74 65 72 70 | 72 65 74 65 64 0d 09 09 |e interp|reted...| |00002e60| 09 09 66 72 6f 6d 20 74 | 68 65 20 63 6c 69 70 62 |..from t|he clipb| |00002e70| 6f 61 72 64 2e 20 0d 0d | 09 09 09 43 4d 4f 56 45 |oard. ..|...CMOVE| |00002e80| 20 28 20 61 64 64 72 31 | 20 61 64 64 72 32 20 6e | ( addr1| addr2 n| |00002e90| 20 2d 2d 20 29 20 73 61 | 79 3a 20 22 73 65 61 2d | -- ) sa|y: "sea-| |00002ea0| 6d 6f 76 65 22 20 3c 73 | 74 61 6e 64 61 72 64 3e |move" <s|tandard>| |00002eb0| 20 20 20 4d 6f 76 65 73 | 20 6e 20 62 79 74 65 73 | Moves| n bytes| |00002ec0| 20 6f 66 20 64 61 74 61 | 20 66 72 6f 6d 20 61 64 | of data| from ad| |00002ed0| 64 72 31 20 74 6f 20 61 | 64 64 72 32 2e 20 0d 0d |dr1 to a|ddr2. ..| |00002ee0| 09 09 09 43 4f 4d 50 49 | 4c 45 20 28 20 61 64 64 |...COMPI|LE ( add| |00002ef0| 72 20 2d 2d 20 29 20 20 | 20 22 43 6f 6d 70 69 6c |r -- ) | "Compil| |00002f00| 65 22 20 77 72 69 74 65 | 73 20 61 20 73 75 62 72 |e" write|s a subr| |00002f10| 6f 75 74 69 6e 65 20 63 | 61 6c 6c 20 74 6f 20 74 |outine c|all to t| |00002f20| 68 65 20 72 65 6c 61 74 | 69 76 65 20 61 64 64 72 |he relat|ive addr| |00002f30| 65 73 73 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |ess on t|he stack| |00002f40| 20 69 6e 74 6f 20 74 68 | 65 20 64 69 63 74 69 6f | into th|e dictio| |00002f50| 6e 61 72 79 2e 0d 09 09 | 09 09 54 68 69 73 20 69 |nary....|..This i| |00002f60| 73 20 6e 6f 74 20 69 64 | 65 6e 74 69 63 61 6c 20 |s not id|entical | |00002f70| 74 6f 20 61 73 20 46 4f | 52 54 48 27 73 20 43 4f |to as FO|RTH's CO| |00002f80| 4d 50 49 4c 45 2e 20 0d | 0d 09 09 09 43 4f 4e 53 |MPILE. .|....CONS| |00002f90| 54 41 4e 54 20 77 68 69 | 6c 65 20 63 6f 6d 70 69 |TANT whi|le compi| |00002fa0| 6c 69 6e 67 3a 20 28 20 | 6e 20 2d 2d 20 29 20 20 |ling: ( |n -- ) | |00002fb0| 77 68 69 6c 65 20 65 78 | 65 63 75 74 69 6e 67 3a |while ex|ecuting:| |00002fc0| 20 28 20 2d 2d 20 6e 20 | 29 20 20 3c 73 74 61 6e | ( -- n |) <stan| |00002fd0| 64 61 72 64 3e 20 20 20 | 43 72 65 61 74 65 73 20 |dard> |Creates | |00002fe0| 61 20 77 6f 72 64 20 66 | 72 6f 6d 20 74 68 65 20 |a word f|rom the | |00002ff0| 6e 65 78 74 20 74 6f 6b | 65 6e 0d 09 09 09 09 69 |next tok|en.....i| |00003000| 6e 20 74 68 65 20 69 6e | 70 75 74 20 73 74 72 65 |n the in|put stre| |00003010| 61 6d 2c 20 77 68 69 63 | 68 2c 20 77 68 65 6e 20 |am, whic|h, when | |00003020| 65 78 65 63 75 74 65 64 | 2c 20 72 65 74 75 72 6e |executed|, return| |00003030| 73 20 74 68 65 20 76 61 | 6c 75 65 2c 20 6e 2e 0d |s the va|lue, n..| |00003040| 0d 09 09 09 43 4f 55 4e | 54 20 28 20 61 64 64 72 |....COUN|T ( addr| |00003050| 20 2d 2d 20 61 64 64 72 | 2b 31 20 6c 65 6e 67 74 | -- addr|+1 lengt| |00003060| 68 20 29 20 20 3c 73 74 | 61 6e 64 61 72 64 3e 20 |h ) <st|andard> | |00003070| 20 20 41 73 73 75 6d 69 | 6e 67 20 74 68 61 74 20 | Assumi|ng that | |00003080| 74 68 65 20 72 65 6c 61 | 74 69 76 65 20 61 64 64 |the rela|tive add| |00003090| 72 65 73 73 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |ress on |the stac| |000030a0| 6b 20 69 73 20 74 68 65 | 20 73 74 61 72 74 20 6f |k is the| start o| |000030b0| 66 0d 09 09 09 09 73 74 | 72 69 6e 67 20 64 61 74 |f.....st|ring dat| |000030c0| 61 2c 20 61 6e 64 20 74 | 68 65 20 62 79 74 65 20 |a, and t|he byte | |000030d0| 66 6f 75 6e 64 20 61 74 | 20 61 64 64 72 20 69 73 |found at| addr is| |000030e0| 20 74 68 65 20 73 74 72 | 69 6e 67 73 20 6c 65 6e | the str|ings len| |000030f0| 67 74 68 2c 20 74 68 65 | 20 61 64 64 72 65 73 73 |gth, the| address| |00003100| 20 6f 66 20 74 68 65 20 | 73 74 61 72 74 20 6f 66 | of the |start of| |00003110| 20 74 68 65 20 73 74 72 | 69 6e 67 20 63 68 61 72 | the str|ing char| |00003120| 61 63 74 65 72 73 0d 09 | 09 09 09 61 6e 64 20 74 |acters..|...and t| |00003130| 68 65 20 73 74 72 69 6e | 67 20 6c 65 6e 67 74 68 |he strin|g length| |00003140| 20 61 72 65 20 6c 65 66 | 74 20 6f 6e 20 74 68 65 | are lef|t on the| |00003150| 20 73 74 61 63 6b 2e 20 | 0d 0d 09 09 09 43 52 20 | stack. |.....CR | |00003160| 28 20 2d 2d 20 29 20 73 | 61 79 3a 20 22 73 65 61 |( -- ) s|ay: "sea| |00003170| 2d 61 72 65 22 20 20 3c | 73 74 61 6e 64 61 72 64 |-are" <|standard| |00003180| 3e 20 20 20 22 43 72 22 | 20 61 64 76 61 6e 63 65 |> "Cr"| advance| |00003190| 73 20 74 68 65 20 63 75 | 72 73 6f 72 20 74 6f 20 |s the cu|rsor to | |000031a0| 74 68 65 20 6e 65 78 74 | 20 6c 69 6e 65 2e 20 20 |the next| line. | |000031b0| 44 6f 20 6e 6f 74 20 63 | 6f 6e 66 75 73 65 20 74 |Do not c|onfuse t| |000031c0| 68 69 73 20 77 6f 72 64 | 0d 09 09 09 09 77 69 74 |his word|.....wit| |000031d0| 68 20 22 7b 63 72 7d 22 | 2e 0d 0d 09 09 09 43 52 |h "{cr}"|......CR| |000031e0| 45 41 54 45 20 77 68 69 | 6c 65 20 63 6f 6d 70 69 |EATE whi|le compi| |000031f0| 6c 69 6e 67 3a 20 28 20 | 2d 2d 20 29 20 77 68 69 |ling: ( |-- ) whi| |00003200| 6c 65 20 65 78 65 63 75 | 74 69 6e 67 3a 20 28 20 |le execu|ting: ( | |00003210| 2d 2d 20 61 64 64 72 20 | 29 20 20 3c 73 74 61 6e |-- addr |) <stan| |00003220| 64 61 72 64 3e 20 20 20 | 43 72 65 61 74 65 20 62 |dard> |Create b| |00003230| 75 69 6c 64 73 20 61 20 | 77 6f 72 64 20 66 72 6f |uilds a |word fro| |00003240| 6d 20 74 68 65 20 6e 65 | 78 74 20 74 6f 6b 65 6e |m the ne|xt token| |00003250| 0d 09 09 09 09 69 6e 20 | 74 68 65 20 69 6e 70 75 |.....in |the inpu| |00003260| 74 20 73 74 72 65 61 6d | 2e 20 20 57 68 65 6e 20 |t stream|. When | |00003270| 74 68 65 20 6e 65 77 20 | 77 6f 72 64 20 69 73 20 |the new |word is | |00003280| 65 78 65 63 75 74 65 64 | 2c 20 69 74 20 72 65 74 |executed|, it ret| |00003290| 75 72 6e 73 20 74 68 65 | 20 72 65 6c 61 74 69 76 |urns the| relativ| |000032a0| 65 20 61 64 64 72 65 73 | 73 20 6f 66 20 74 68 65 |e addres|s of the| |000032b0| 20 63 65 6c 6c 20 66 6f | 6c 6c 6f 77 69 6e 67 20 | cell fo|llowing | |000032c0| 74 68 65 0d 09 09 09 09 | 77 6f 72 64 73 20 65 6e |the.....|words en| |000032d0| 74 72 79 2e 20 0d 0d 09 | 09 09 43 53 54 41 54 45 |try. ...|..CSTATE| |000032e0| 20 28 20 2d 2d 20 61 64 | 64 72 20 29 20 73 61 79 | ( -- ad|dr ) say| |000032f0| 3a 20 22 73 65 61 2d 73 | 74 61 74 65 22 20 20 20 |: "sea-s|tate" | |00003300| 52 65 74 75 72 6e 73 20 | 74 68 65 20 72 65 6c 61 |Returns |the rela| |00003310| 74 69 76 65 20 61 64 64 | 72 65 73 73 20 6f 66 20 |tive add|ress of | |00003320| 61 20 62 79 74 65 20 77 | 68 69 63 68 20 69 73 20 |a byte w|hich is | |00003330| 7a 65 72 6f 20 69 66 20 | 74 68 65 20 69 6e 74 65 |zero if |the inte| |00003340| 72 70 72 65 74 65 72 20 | 69 73 20 6e 6f 74 0d 09 |rpreter |is not..| |00003350| 09 09 09 69 6e 20 27 63 | 6f 6d 70 69 6c 69 6e 67 |...in 'c|ompiling| |00003360| 27 20 6d 6f 64 65 20 61 | 6e 64 20 31 32 38 20 69 |' mode a|nd 128 i| |00003370| 66 20 69 74 20 69 73 2e | 20 0d 0d 09 09 09 44 2b |f it is.| .....D+| |00003380| 20 28 20 6e 31 20 6e 32 | 20 20 6e 33 20 6e 34 20 | ( n1 n2| n3 n4 | |00003390| 2d 2d 20 6e 31 2b 6e 33 | 20 6e 32 2b 6e 34 20 29 |-- n1+n3| n2+n4 )| |000033a0| 20 73 61 79 3a 20 22 64 | 65 65 2d 70 6c 75 73 22 | say: "d|ee-plus"| |000033b0| 20 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 41 | <stand|ard> A| |000033c0| 64 64 73 20 74 68 65 20 | 74 6f 70 20 74 77 6f 20 |dds the |top two | |000033d0| 64 6f 75 62 6c 65 20 6e | 75 6d 62 65 72 73 20 61 |double n|umbers a| |000033e0| 6e 64 20 6c 65 61 76 65 | 73 20 74 68 65 0d 09 09 |nd leave|s the...| |000033f0| 09 09 64 6f 75 62 6c 65 | 20 6e 75 6d 62 65 72 20 |..double| number | |00003400| 73 75 6d 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |sum on t|he stack| |00003410| 2e 20 0d 0d 09 09 09 44 | 2e 20 28 20 64 20 2d 2d |. .....D|. ( d --| |00003420| 20 29 20 73 61 79 3a 20 | 22 64 65 65 2d 64 6f 74 | ) say: |"dee-dot| |00003430| 22 20 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |" <stan|dard> | |00003440| 50 72 69 6e 74 20 74 68 | 65 20 64 76 61 6c 75 65 |Print th|e dvalue| |00003450| 20 6f 6e 20 74 68 65 20 | 73 74 61 63 6b 20 61 63 | on the |stack ac| |00003460| 63 6f 72 64 69 6e 67 20 | 74 6f 20 74 68 65 20 63 |cording |to the c| |00003470| 75 72 72 65 6e 74 20 6e | 75 6d 62 65 72 20 62 61 |urrent n|umber ba| |00003480| 73 65 2e 20 0d 0d 09 09 | 09 44 41 42 53 20 28 20 |se. ....|.DABS ( | |00003490| 64 76 61 6c 20 2d 2d 20 | 7c 64 76 61 6c 7c 20 29 |dval -- ||dval| )| |000034a0| 20 73 61 79 3a 20 22 64 | 61 62 73 22 20 20 3c 73 | say: "d|abs" <s| |000034b0| 74 61 6e 64 61 72 64 3e | 20 20 20 52 65 74 75 72 |tandard>| Retur| |000034c0| 6e 20 74 68 65 20 61 62 | 73 6f 6c 75 74 65 20 76 |n the ab|solute v| |000034d0| 61 6c 75 65 20 6f 66 20 | 74 68 65 20 64 76 61 6c |alue of |the dval| |000034e0| 75 65 20 6f 6e 20 74 68 | 65 20 74 6f 70 20 6f 66 |ue on th|e top of| |000034f0| 20 74 68 65 20 73 74 61 | 63 6b 2e 20 0d 0d 09 09 | the sta|ck. ....| |00003500| 09 44 45 43 49 4d 41 4c | 20 28 20 2d 2d 20 29 20 |.DECIMAL| ( -- ) | |00003510| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 53 65 | <standa|rd> Se| |00003520| 74 73 20 74 68 65 20 63 | 75 72 72 65 6e 74 20 6e |ts the c|urrent n| |00003530| 75 6d 62 65 72 20 62 61 | 73 65 20 74 6f 20 74 65 |umber ba|se to te| |00003540| 6e 2e 20 0d 0d 09 09 09 | 44 4c 21 20 28 20 6e 31 |n. .....|DL! ( n1| |00003550| 20 6e 32 20 64 61 64 64 | 72 33 32 20 2d 2d 20 29 | n2 dadd|r32 -- )| |00003560| 20 73 61 79 3a 20 22 64 | 65 65 2d 65 6c 2d 73 74 | say: "d|ee-el-st| |00003570| 6f 72 65 22 20 20 20 53 | 74 6f 72 65 20 61 20 33 |ore" S|tore a 3| |00003580| 32 20 62 69 74 20 76 61 | 6c 75 65 20 61 74 20 61 |2 bit va|lue at a| |00003590| 6e 20 61 62 73 6f 6c 75 | 74 65 20 33 32 20 62 69 |n absolu|te 32 bi| |000035a0| 74 20 61 64 64 72 65 73 | 73 2e 20 0d 0d 09 09 09 |t addres|s. .....| |000035b0| 44 4c 40 20 28 20 64 61 | 64 64 72 33 32 20 2d 2d |DL@ ( da|ddr32 --| |000035c0| 20 6e 31 20 6e 32 20 29 | 20 73 61 79 3a 20 22 64 | n1 n2 )| say: "d| |000035d0| 65 65 2d 65 6c 2d 61 74 | 22 20 20 20 52 65 74 72 |ee-el-at|" Retr| |000035e0| 69 65 76 65 20 74 68 65 | 20 33 32 20 62 69 74 20 |ieve the| 32 bit | |000035f0| 76 61 6c 75 65 20 66 6f | 75 6e 64 20 61 74 20 74 |value fo|und at t| |00003600| 68 65 20 33 32 20 62 69 | 74 20 61 62 73 6f 6c 75 |he 32 bi|t absolu| |00003610| 74 65 20 61 64 64 72 65 | 73 73 20 6f 6e 0d 09 09 |te addre|ss on...| |00003620| 09 09 74 68 65 20 73 74 | 61 63 6b 2e 20 0d 0d 09 |..the st|ack. ...| |00003630| 09 09 44 4e 45 47 41 54 | 45 20 28 20 6e 31 20 6e |..DNEGAT|E ( n1 n| |00003640| 32 20 2d 2d 20 2d 6e 31 | 20 2d 6e 32 20 29 20 73 |2 -- -n1| -n2 ) s| |00003650| 61 79 3a 20 22 64 65 65 | 2d 6e 65 67 61 74 65 22 |ay: "dee|-negate"| |00003660| 20 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 4e | <stand|ard> N| |00003670| 65 67 61 74 65 20 74 68 | 65 20 33 32 20 62 69 74 |egate th|e 32 bit| |00003680| 20 76 61 6c 75 65 20 6f | 6e 20 74 68 65 20 73 74 | value o|n the st| |00003690| 61 63 6b 2e 20 0d 0d 09 | 09 09 44 4f 20 28 20 2d |ack. ...|..DO ( -| |000036a0| 2d 20 29 20 20 3c 73 74 | 61 6e 64 61 72 64 3e 20 |- ) <st|andard> | |000036b0| 20 20 43 6f 6d 70 69 6c | 65 20 74 68 65 20 77 6f | Compil|e the wo| |000036c0| 72 64 20 22 70 61 72 65 | 6e 2d 64 6f 22 20 74 6f |rd "pare|n-do" to| |000036d0| 20 62 65 67 69 6e 20 61 | 6e 20 69 6e 64 65 78 65 | begin a|n indexe| |000036e0| 64 20 6c 6f 6f 70 2e 20 | 20 55 73 65 64 20 77 69 |d loop. | Used wi| |000036f0| 74 68 20 22 6c 6f 6f 70 | 22 20 6f 72 20 22 2b 6c |th "loop|" or "+l| |00003700| 6f 6f 70 22 2e 20 0d 09 | 09 09 09 22 44 6f 22 20 |oop". ..|..."Do" | |00003710| 69 73 20 61 6e 20 69 6d | 6d 65 64 69 61 74 65 20 |is an im|mediate | |00003720| 77 6f 72 64 20 61 6e 64 | 20 69 73 20 75 73 65 64 |word and| is used| |00003730| 20 77 69 74 68 69 6e 20 | 61 20 63 6f 6c 6f 6e 20 | within |a colon | |00003740| 64 65 66 69 6e 69 74 69 | 6f 6e 2e 20 20 28 73 65 |definiti|on. (se| |00003750| 65 20 22 70 61 72 65 6e | 2d 64 6f 22 2c 20 22 6c |e "paren|-do", "l| |00003760| 6f 6f 70 22 20 61 6e 64 | 20 22 2b 6c 6f 6f 70 22 |oop" and| "+loop"| |00003770| 29 20 0d 0d 09 09 09 44 | 4f 45 53 3e 20 20 77 68 |) .....D|OES> wh| |00003780| 69 6c 65 20 63 6f 6d 70 | 69 6c 69 6e 67 3a 20 28 |ile comp|iling: (| |00003790| 20 2d 2d 20 29 20 77 68 | 69 6c 65 20 65 78 65 63 | -- ) wh|ile exec| |000037a0| 75 74 69 6e 67 3a 20 28 | 20 61 64 64 72 20 2d 2d |uting: (| addr --| |000037b0| 20 29 20 73 61 79 3a 20 | 22 64 6f 65 73 22 20 20 | ) say: |"does" | |000037c0| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 22 44 6f 65 |<standar|d> "Doe| |000037d0| 73 3e 22 20 69 73 20 75 | 73 65 64 20 69 6e 20 74 |s>" is u|sed in t| |000037e0| 68 65 0d 09 09 09 09 64 | 65 66 69 6e 69 74 69 6f |he.....d|efinitio| |000037f0| 6e 20 6f 66 20 61 20 64 | 65 66 69 6e 69 6e 67 20 |n of a d|efining | |00003800| 77 6f 72 64 2c 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |word, fo|llowing | |00003810| 22 63 72 65 61 74 65 22 | 20 74 6f 20 64 65 66 69 |"create"| to defi| |00003820| 6e 65 20 74 68 65 20 72 | 75 6e 2d 74 69 6d 65 20 |ne the r|un-time | |00003830| 62 65 68 61 76 69 6f 72 | 20 6f 66 20 74 68 65 20 |behavior| of the | |00003840| 64 65 66 69 6e 65 64 20 | 77 6f 72 64 2e 20 0d 0d |defined |word. ..| |00003850| 09 09 09 44 52 4f 50 20 | 28 20 6e 31 20 6e 32 20 |...DROP |( n1 n2 | |00003860| 2d 2d 20 6e 31 20 29 20 | 20 3c 73 74 61 6e 64 61 |-- n1 ) | <standa| |00003870| 72 64 3e 20 20 20 52 65 | 6d 6f 76 65 20 74 68 65 |rd> Re|move the| |00003880| 20 76 61 6c 75 65 20 6f | 6e 20 74 68 65 20 74 6f | value o|n the to| |00003890| 70 20 6f 66 20 74 68 65 | 20 73 74 61 63 6b 2e 20 |p of the| stack. | |000038a0| 0d 0d 09 09 09 44 55 50 | 20 28 20 6e 20 2d 2d 20 |.....DUP| ( n -- | |000038b0| 6e 20 6e 20 29 20 73 61 | 79 3a 20 22 64 75 70 65 |n n ) sa|y: "dupe| |000038c0| 22 20 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |" <stan|dard> | |000038d0| 44 75 70 6c 69 63 61 74 | 65 20 74 68 65 20 76 61 |Duplicat|e the va| |000038e0| 6c 75 65 20 6f 6e 20 74 | 68 65 20 74 6f 70 20 6f |lue on t|he top o| |000038f0| 66 20 74 68 65 20 73 74 | 61 63 6b 2e 20 0d 0d 09 |f the st|ack. ...| |00003900| 09 09 45 4c 53 45 20 77 | 68 69 6c 65 20 63 6f 6d |..ELSE w|hile com| |00003910| 70 69 6c 69 6e 67 3a 20 | 28 20 61 64 64 72 20 2d |piling: |( addr -| |00003920| 2d 20 61 64 64 72 20 29 | 20 20 77 68 69 6c 65 20 |- addr )| while | |00003930| 65 78 65 63 75 74 69 6e | 67 3a 20 28 20 2d 2d 20 |executin|g: ( -- | |00003940| 29 20 20 3c 73 74 61 6e | 64 61 72 64 3e 20 20 20 |) <stan|dard> | |00003950| 55 73 65 64 20 6f 70 74 | 69 6f 6e 61 6c 79 20 62 |Used opt|ionaly b| |00003960| 65 74 77 65 65 6e 20 22 | 69 66 22 20 61 6e 64 0d |etween "|if" and.| |00003970| 09 09 09 09 22 74 68 65 | 6e 22 20 69 6e 20 61 20 |...."the|n" in a | |00003980| 63 6f 6e 64 69 74 69 6f | 6e 61 6c 20 66 6f 72 77 |conditio|nal forw| |00003990| 61 72 64 20 62 72 61 6e | 63 68 2e 20 20 22 45 6c |ard bran|ch. "El| |000039a0| 73 65 22 20 69 73 20 61 | 6e 20 69 6d 6d 65 64 69 |se" is a|n immedi| |000039b0| 61 74 65 20 77 6f 72 64 | 20 61 6e 64 20 69 73 20 |ate word| and is | |000039c0| 75 73 65 64 20 77 69 74 | 68 69 6e 20 61 20 63 6f |used wit|hin a co| |000039d0| 6c 6f 6e 20 64 65 66 69 | 6e 69 74 69 6f 6e 2e 20 |lon defi|nition. | |000039e0| 0d 0d 09 09 09 45 4d 49 | 54 20 28 20 63 20 2d 2d |.....EMI|T ( c --| |000039f0| 20 29 20 20 3c 73 74 61 | 6e 64 61 72 64 3e 20 20 | ) <sta|ndard> | |00003a00| 20 50 72 69 6e 74 20 74 | 68 65 20 41 53 43 49 49 | Print t|he ASCII| |00003a10| 20 63 68 61 72 61 63 74 | 65 72 20 72 65 70 72 65 | charact|er repre| |00003a20| 73 65 6e 74 65 64 20 62 | 79 20 74 68 65 20 76 61 |sented b|y the va| |00003a30| 6c 75 65 20 6f 66 20 61 | 20 6e 75 6d 62 65 72 20 |lue of a| number | |00003a40| 6f 6e 20 74 68 65 20 73 | 74 61 63 6b 2e 20 0d 0d |on the s|tack. ..| |00003a50| 09 09 09 45 58 45 43 55 | 54 45 20 28 20 61 64 64 |...EXECU|TE ( add| |00003a60| 72 20 2d 2d 20 29 20 20 | 3c 73 74 61 6e 64 61 72 |r -- ) |<standar| |00003a70| 64 3e 20 20 20 22 45 78 | 65 63 75 74 65 22 20 63 |d> "Ex|ecute" c| |00003a80| 61 75 73 65 73 20 74 68 | 65 20 72 6f 75 74 69 6e |auses th|e routin| |00003a90| 65 20 77 68 6f 73 65 20 | 72 65 6c 61 74 69 76 65 |e whose |relative| |00003aa0| 20 61 64 64 72 65 73 73 | 20 69 73 20 6f 6e 20 74 | address| is on t| |00003ab0| 68 65 20 73 74 61 63 6b | 20 74 6f 20 68 61 70 70 |he stack| to happ| |00003ac0| 65 6e 2e 20 0d 0d 09 09 | 09 45 58 49 54 20 28 20 |en. ....|.EXIT ( | |00003ad0| 2d 2d 20 29 20 20 3c 73 | 74 61 6e 64 61 72 64 3e |-- ) <s|tandard>| |00003ae0| 20 20 20 22 45 78 69 74 | 22 20 64 72 6f 70 73 20 | "Exit|" drops | |00003af0| 61 6e 20 61 62 73 6f 6c | 75 74 65 20 61 64 64 72 |an absol|ute addr| |00003b00| 65 73 73 20 66 72 6f 6d | 20 74 68 65 20 72 65 74 |ess from| the ret| |00003b10| 75 72 6e 20 73 74 61 63 | 6b 20 61 6e 64 20 65 78 |urn stac|k and ex| |00003b20| 65 63 75 74 65 73 20 61 | 20 6d 61 63 68 69 6e 65 |ecutes a| machine| |00003b30| 20 6c 61 6e 67 75 61 67 | 65 0d 09 09 09 09 72 65 | languag|e.....re| |00003b40| 74 75 72 6e 20 69 6e 73 | 74 72 75 63 74 69 6f 6e |turn ins|truction| |00003b50| 2e 20 20 54 68 69 73 20 | 63 61 75 73 65 73 20 61 |. This |causes a| |00003b60| 20 72 6f 75 74 69 6e 65 | 20 74 6f 20 74 65 72 6d | routine| to term| |00003b70| 69 6e 61 74 65 20 70 72 | 65 6d 61 74 75 72 65 6c |inate pr|ematurel| |00003b80| 79 2e 20 0d 0d 09 09 09 | 45 58 50 45 43 54 20 28 |y. .....|EXPECT (| |00003b90| 20 61 64 64 72 20 63 6f | 75 6e 74 20 2d 2d 20 29 | addr co|unt -- )| |00003ba0| 20 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 57 | <stand|ard> W| |00003bb0| 61 69 74 73 20 66 6f 72 | 20 27 63 6f 75 6e 74 27 |aits for| 'count'| |00003bc0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 63 68 61 72 61 | number |of chara| |00003bd0| 63 74 65 72 73 20 74 6f | 20 62 65 20 74 79 70 65 |cters to| be type| |00003be0| 64 2c 20 73 74 6f 72 69 | 6e 67 20 74 68 65 20 63 |d, stori|ng the c| |00003bf0| 68 61 72 61 63 74 65 72 | 73 2c 20 69 6e 0d 09 09 |haracter|s, in...| |00003c00| 09 09 6f 72 64 65 72 2c | 20 61 74 20 74 68 65 20 |..order,| at the | |00003c10| 72 65 6c 61 74 69 76 65 | 20 61 64 64 72 65 73 73 |relative| address| |00003c20| 2c 20 61 64 64 72 2e 20 | 20 49 66 20 6d 6f 72 65 |, addr. | If more| |00003c30| 20 63 68 61 72 61 63 74 | 65 72 73 20 61 72 65 20 | charact|ers are | |00003c40| 74 79 70 65 64 2c 20 74 | 68 65 79 20 61 72 65 20 |typed, t|hey are | |00003c50| 65 63 68 6f 65 64 20 74 | 6f 20 74 68 65 20 73 63 |echoed t|o the sc| |00003c60| 72 65 65 6e 2c 20 62 75 | 74 20 6e 6f 74 20 73 61 |reen, bu|t not sa| |00003c70| 76 65 64 2e 0d 09 09 09 | 09 41 20 62 6c 61 6e 6b |ved.....|.A blank| |00003c80| 20 63 68 61 72 61 63 74 | 65 72 20 61 6e 64 20 61 | charact|er and a| |00003c90| 20 7a 65 72 6f 20 62 79 | 74 65 20 61 72 65 20 61 | zero by|te are a| |00003ca0| 70 70 65 6e 64 65 64 20 | 74 6f 20 74 68 65 20 63 |ppended |to the c| |00003cb0| 68 61 72 61 63 74 65 72 | 73 2e 20 20 45 76 65 6e |haracter|s. Even| |00003cc0| 74 73 20 61 72 65 20 68 | 61 6e 64 6c 65 64 20 6e |ts are h|andled n| |00003cd0| 6f 72 6d 61 6c 6c 79 20 | 64 75 72 69 6e 67 20 22 |ormally |during "| |00003ce0| 65 78 70 65 63 74 22 2e | 20 0d 0d 09 09 09 46 49 |expect".| .....FI| |00003cf0| 4c 4c 20 28 20 61 64 64 | 72 20 63 6f 75 6e 74 20 |LL ( add|r count | |00003d00| 63 68 61 72 20 2d 2d 20 | 29 20 20 3c 73 74 61 6e |char -- |) <stan| |00003d10| 64 61 72 64 3e 20 20 20 | 50 6c 61 63 65 73 20 27 |dard> |Places '| |00003d20| 63 6f 75 6e 74 27 20 63 | 68 61 72 61 63 74 65 72 |count' c|haracter| |00003d30| 73 20 6f 66 20 27 63 68 | 61 72 27 20 61 74 20 74 |s of 'ch|ar' at t| |00003d40| 68 65 20 72 65 6c 61 74 | 69 76 65 20 61 64 64 72 |he relat|ive addr| |00003d50| 65 73 73 2c 20 27 61 64 | 64 72 27 2e 20 0d 0d 09 |ess, 'ad|dr'. ...| |00003d60| 09 09 46 4f 52 47 45 54 | 20 28 20 2d 2d 20 29 20 |..FORGET| ( -- ) | |00003d70| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 52 65 | <standa|rd> Re| |00003d80| 6d 6f 76 65 73 20 74 68 | 65 20 77 6f 72 64 20 72 |moves th|e word r| |00003d90| 65 70 72 65 73 65 6e 74 | 65 64 20 62 79 20 74 68 |epresent|ed by th| |00003da0| 65 20 6e 65 78 74 20 74 | 6f 6b 65 6e 20 66 72 6f |e next t|oken fro| |00003db0| 6d 20 74 68 65 20 69 6e | 70 75 74 20 73 74 72 65 |m the in|put stre| |00003dc0| 61 6d 2c 20 66 72 6f 6d | 20 74 68 65 0d 09 09 09 |am, from| the....| |00003dd0| 09 20 64 69 63 74 69 6f | 6e 61 72 79 2e 20 20 41 |. dictio|nary. A| |00003de0| 6c 6c 20 77 6f 72 64 73 | 20 64 65 66 69 6e 65 64 |ll words| defined| |00003df0| 20 61 66 74 65 72 20 74 | 68 65 20 66 6f 72 67 6f | after t|he forgo| |00003e00| 74 74 65 6e 20 77 6f 72 | 64 20 61 72 65 20 61 6c |tten wor|d are al| |00003e10| 73 6f 20 72 65 6d 6f 76 | 65 64 2e 20 0d 0d 09 09 |so remov|ed. ....| |00003e20| 09 47 52 4f 57 20 28 20 | 6e 20 2d 2d 20 29 20 20 |.GROW ( |n -- ) | |00003e30| 20 43 68 61 6e 67 65 20 | 74 68 65 20 61 6d 6f 75 | Change |the amou| |00003e40| 6e 74 20 6f 66 20 72 65 | 73 65 72 76 65 64 20 6d |nt of re|served m| |00003e50| 65 6d 6f 72 79 20 61 62 | 6f 76 65 20 74 68 65 20 |emory ab|ove the | |00003e60| 64 69 63 74 69 6f 6e 61 | 72 79 20 62 79 20 27 6e |dictiona|ry by 'n| |00003e70| 27 20 62 79 74 65 73 2e | 20 20 49 66 20 27 6e 27 |' bytes.| If 'n'| |00003e80| 20 69 73 20 6e 65 67 61 | 74 69 76 65 20 74 68 65 | is nega|tive the| |00003e90| 20 66 72 65 65 0d 09 09 | 09 09 73 70 61 63 65 20 | free...|..space | |00003ea0| 69 73 20 72 65 64 75 63 | 65 64 2e 20 0d 0d 09 09 |is reduc|ed. ....| |00003eb0| 09 48 45 41 44 45 52 20 | 28 20 2d 2d 20 29 20 20 |.HEADER |( -- ) | |00003ec0| 20 22 48 65 61 64 65 72 | 22 20 65 6e 63 6c 6f 73 | "Header|" enclos| |00003ed0| 65 73 20 74 68 65 20 6e | 61 6d 65 20 61 6e 64 20 |es the n|ame and | |00003ee0| 62 75 69 6c 64 73 20 61 | 20 6c 69 6e 6b 20 66 69 |builds a| link fi| |00003ef0| 65 6c 64 20 66 6f 72 20 | 61 20 6e 65 77 20 77 6f |eld for |a new wo| |00003f00| 72 64 20 61 74 20 6c 6f | 63 61 74 65 64 20 22 68 |rd at lo|cated "h| |00003f10| 65 72 65 22 2e 20 0d 0d | 09 09 09 48 45 52 45 20 |ere". ..|...HERE | |00003f20| 28 20 2d 2d 20 61 64 64 | 72 20 29 20 20 3c 73 74 |( -- add|r ) <st| |00003f30| 61 6e 64 61 72 64 3e 20 | 20 20 22 48 65 72 65 22 |andard> | "Here"| |00003f40| 20 6c 65 61 76 65 73 20 | 74 68 65 20 72 65 6c 61 | leaves |the rela| |00003f50| 74 69 76 65 20 61 64 64 | 72 65 73 73 20 6f 66 20 |tive add|ress of | |00003f60| 74 68 65 20 65 6e 64 20 | 6f 66 20 74 68 65 20 64 |the end |of the d| |00003f70| 69 63 74 69 6f 6e 61 72 | 79 2e 20 0d 0d 09 09 09 |ictionar|y. .....| |00003f80| 48 45 58 20 28 20 2d 2d | 20 29 20 20 3c 73 74 61 |HEX ( --| ) <sta| |00003f90| 6e 64 61 72 64 3e 20 20 | 20 53 65 74 73 20 74 68 |ndard> | Sets th| |00003fa0| 65 20 63 75 72 72 65 6e | 74 20 6e 75 6d 62 65 72 |e curren|t number| |00003fb0| 20 62 61 73 65 20 74 6f | 20 73 69 78 74 65 65 6e | base to| sixteen| |00003fc0| 2e 20 0d 0d 09 09 09 48 | 4f 4c 44 20 28 20 63 20 |. .....H|OLD ( c | |00003fd0| 2d 2d 20 29 20 20 3c 73 | 74 61 6e 64 61 72 64 3e |-- ) <s|tandard>| |00003fe0| 20 20 49 6d 62 65 64 20 | 74 68 65 20 63 68 61 72 | Imbed |the char| |00003ff0| 61 63 74 65 72 20 6f 6e | 20 74 68 65 20 73 74 61 |acter on| the sta| |00004000| 63 6b 20 69 6e 74 6f 20 | 74 68 65 20 6e 75 6d 62 |ck into |the numb| |00004010| 65 72 20 62 65 69 6e 67 | 20 63 6f 6e 76 65 72 74 |er being| convert| |00004020| 65 64 2e 20 20 55 73 65 | 20 62 65 74 77 65 65 6e |ed. Use| between| |00004030| 20 0d 09 09 09 09 22 67 | 72 65 61 74 65 72 2d 74 | ....."g|reater-t| |00004040| 68 61 6e 2d 73 68 61 72 | 70 22 20 61 6e 64 20 22 |han-shar|p" and "| |00004050| 73 68 61 72 70 2d 6c 65 | 73 73 2d 74 68 61 6e 22 |sharp-le|ss-than"| |00004060| 2e 20 0d 0d 09 09 09 49 | 46 20 28 20 66 6c 61 67 |. .....I|F ( flag| |00004070| 20 2d 2d 20 29 20 20 3c | 73 74 61 6e 64 61 72 64 | -- ) <|standard| |00004080| 3e 20 20 20 55 73 65 64 | 20 69 6e 20 63 6f 6e 6a |> Used| in conj| |00004090| 75 6e 63 74 69 6f 6e 20 | 77 69 74 68 20 22 65 6c |unction |with "el| |000040a0| 73 65 22 20 61 6e 64 20 | 22 74 68 65 6e 22 20 74 |se" and |"then" t| |000040b0| 6f 20 62 72 61 6e 63 68 | 20 63 6f 6e 64 69 74 69 |o branch| conditi| |000040c0| 6f 6e 61 6c 6c 79 2e 20 | 20 41 20 74 72 75 65 20 |onally. | A true | |000040d0| 66 6c 61 67 20 63 61 75 | 73 65 73 0d 09 09 09 09 |flag cau|ses.....| |000040e0| 74 68 65 20 77 6f 72 64 | 73 20 66 6f 6c 6c 6f 77 |the word|s follow| |000040f0| 69 6e 67 20 22 69 66 22 | 20 61 6e 64 20 62 65 66 |ing "if"| and bef| |00004100| 6f 72 65 20 22 74 68 65 | 6e 22 20 28 6f 72 20 22 |ore "the|n" (or "| |00004110| 65 6c 73 65 22 29 20 74 | 6f 20 62 65 20 65 78 65 |else") t|o be exe| |00004120| 63 75 74 65 64 2e 20 20 | 22 49 66 22 20 69 73 20 |cuted. |"If" is | |00004130| 61 6e 20 69 6d 6d 65 64 | 69 61 74 65 20 77 6f 72 |an immed|iate wor| |00004140| 64 20 61 6e 64 20 69 73 | 20 75 73 65 64 0d 09 09 |d and is| used...| |00004150| 09 09 77 69 74 68 69 6e | 20 61 20 63 6f 6c 6f 6e |..within| a colon| |00004160| 20 64 65 66 69 69 74 69 | 6f 6e 2e 20 0d 0d 09 09 | defiiti|on. ....| |00004170| 09 49 44 2e 20 28 20 61 | 64 64 72 20 2d 2d 20 29 |.ID. ( a|ddr -- )| |00004180| 20 73 61 79 3a 20 22 65 | 79 65 2d 64 65 65 2d 64 | say: "e|ye-dee-d| |00004190| 6f 74 22 20 20 3c 73 74 | 61 6e 64 61 72 64 3e 20 |ot" <st|andard> | |000041a0| 20 20 50 72 69 6e 74 20 | 74 68 65 20 6e 61 6d 65 | Print |the name| |000041b0| 20 6f 66 20 74 68 65 20 | 77 6f 72 64 20 77 68 6f | of the |word who| |000041c0| 73 65 20 61 64 64 72 65 | 73 73 20 69 73 20 6f 6e |se addre|ss is on| |000041d0| 20 74 68 65 20 73 74 61 | 63 6b 2e 0d 09 09 09 09 | the sta|ck......| |000041e0| 55 6e 64 65 66 69 6e 65 | 64 20 63 68 61 72 61 63 |Undefine|d charac| |000041f0| 74 65 72 73 20 61 72 65 | 20 72 65 70 72 65 73 65 |ters are| represe| |00004200| 6e 74 65 64 20 62 79 20 | 61 6e 20 65 6c 69 70 73 |nted by |an elips| |00004210| 69 73 2e 20 0d 0d 09 09 | 09 49 4d 4d 45 44 49 41 |is. ....|.IMMEDIA| |00004220| 54 45 20 28 20 2d 2d 20 | 29 20 20 3c 73 74 61 6e |TE ( -- |) <stan| |00004230| 64 61 72 64 3e 20 20 20 | 22 49 6d 6d 65 64 69 61 |dard> |"Immedia| |00004240| 74 65 22 20 69 73 20 75 | 73 65 64 20 61 66 74 65 |te" is u|sed afte| |00004250| 72 20 61 20 64 65 66 69 | 6e 69 74 69 6f 6e 2c 20 |r a defi|nition, | |00004260| 74 6f 20 66 6c 61 67 67 | 65 64 20 74 68 65 20 77 |to flagg|ed the w| |00004270| 6f 72 64 20 61 73 20 27 | 69 6d 6d 65 64 69 61 74 |ord as '|immediat| |00004280| 65 27 20 73 6f 0d 09 09 | 09 09 74 68 61 74 20 69 |e' so...|..that i| |00004290| 73 20 69 74 20 77 69 6c | 6c 20 65 78 65 63 75 74 |s it wil|l execut| |000042a0| 65 20 77 69 74 68 69 6e | 20 61 20 63 6f 6c 6f 6e |e within| a colon| |000042b0| 20 64 65 66 69 6e 69 74 | 69 6f 6e 2c 20 72 61 74 | definit|ion, rat| |000042c0| 68 65 72 20 74 68 61 6e | 20 62 65 69 6e 67 20 63 |her than| being c| |000042d0| 6f 6d 70 69 6c 65 64 20 | 69 6e 74 6f 20 74 68 65 |ompiled |into the| |000042e0| 20 64 65 66 69 6e 69 74 | 69 6f 6e 2e 20 0d 0d 09 | definit|ion. ...| |000042f0| 09 09 4b 45 59 20 28 20 | 2d 2d 20 6e 20 29 20 20 |..KEY ( |-- n ) | |00004300| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 57 61 69 |<standar|d> Wai| |00004310| 74 73 20 66 6f 72 20 61 | 20 63 68 61 72 61 63 74 |ts for a| charact| |00004320| 65 72 20 74 6f 20 62 65 | 20 74 79 70 65 64 2c 20 |er to be| typed, | |00004330| 65 63 68 6f 73 20 74 68 | 65 20 63 68 61 72 61 63 |echos th|e charac| |00004340| 74 65 72 20 74 6f 20 74 | 68 65 20 73 63 72 65 65 |ter to t|he scree| |00004350| 6e 2c 20 61 64 76 61 6e | 63 65 73 0d 09 09 09 09 |n, advan|ces.....| |00004360| 74 68 65 20 63 75 72 73 | 6f 72 20 61 6e 64 20 72 |the curs|or and r| |00004370| 65 74 75 72 6e 73 20 74 | 68 65 20 41 53 43 49 49 |eturns t|he ASCII| |00004380| 20 63 6f 64 65 20 6f 6e | 20 74 68 65 20 73 74 61 | code on| the sta| |00004390| 63 6b 2e 20 20 45 76 65 | 6e 74 73 20 61 72 65 20 |ck. Eve|nts are | |000043a0| 68 61 6e 64 6c 65 64 20 | 64 75 72 69 6e 67 20 74 |handled |during t| |000043b0| 68 65 20 77 61 69 74 2e | 20 0d 0d 09 09 09 4c 21 |he wait.| .....L!| |000043c0| 20 28 20 6e 20 64 61 64 | 64 72 33 32 20 2d 2d 20 | ( n dad|dr32 -- | |000043d0| 29 20 73 61 79 3a 20 22 | 65 6c 2d 73 74 6f 72 65 |) say: "|el-store| |000043e0| 22 20 20 20 53 74 6f 72 | 65 20 74 68 65 20 76 61 |" Stor|e the va| |000043f0| 6c 75 65 20 6f 66 20 6e | 20 61 74 20 74 68 65 20 |lue of n| at the | |00004400| 61 62 73 6f 6c 75 74 65 | 20 61 64 64 72 65 73 73 |absolute| address| |00004410| 20 6f 6e 20 74 68 65 20 | 73 74 61 63 6b 2e 20 0d | on the |stack. .| |00004420| 0d 09 09 09 4c 40 20 28 | 20 64 61 64 64 72 33 32 |....L@ (| daddr32| |00004430| 20 2d 2d 20 6e 20 29 20 | 73 61 79 3a 20 22 6c 61 | -- n ) |say: "la| |00004440| 74 22 20 6f 72 20 22 65 | 6c 2d 61 74 22 20 20 20 |t" or "e|l-at" | |00004450| 52 65 74 72 69 65 76 65 | 20 74 68 65 20 76 61 6c |Retrieve| the val| |00004460| 75 65 20 66 6f 75 6e 64 | 20 61 74 20 74 68 65 20 |ue found| at the | |00004470| 61 62 73 6f 6c 75 74 65 | 20 61 64 64 72 65 73 73 |absolute| address| |00004480| 20 6f 6e 20 74 68 65 20 | 73 74 61 63 6b 2e 20 0d | on the |stack. .| |00004490| 0d 09 09 09 4c 41 54 45 | 53 54 20 28 20 2d 2d 20 |....LATE|ST ( -- | |000044a0| 6e 61 6d 65 2e 61 64 64 | 72 20 29 20 20 3c 73 74 |name.add|r ) <st| |000044b0| 61 6e 64 61 72 64 3e 20 | 20 20 52 65 74 75 72 6e |andard> | Return| |000044c0| 20 74 68 65 20 6e 61 6d | 65 20 61 64 64 72 65 73 | the nam|e addres| |000044d0| 73 20 6f 66 20 74 68 65 | 20 6c 61 73 74 20 77 6f |s of the| last wo| |000044e0| 72 64 20 64 65 66 69 6e | 65 64 2e 20 20 4c 61 74 |rd defin|ed. Lat| |000044f0| 65 73 74 20 69 73 20 75 | 73 65 64 20 62 79 0d 09 |est is u|sed by..| |00004500| 09 09 09 22 73 65 61 72 | 63 68 22 20 74 6f 20 66 |..."sear|ch" to f| |00004510| 69 6e 64 20 74 68 65 20 | 65 6e 64 20 6f 66 20 74 |ind the |end of t| |00004520| 68 65 20 64 69 63 74 69 | 6f 6e 61 72 79 2e 20 0d |he dicti|onary. .| |00004530| 0d 09 09 09 4c 45 41 56 | 45 20 28 20 2d 2d 20 29 |....LEAV|E ( -- )| |00004540| 20 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 43 | <stand|ard> C| |00004550| 61 75 73 65 73 20 61 20 | 70 72 65 6d 61 74 75 72 |auses a |prematur| |00004560| 65 20 65 78 69 74 20 66 | 72 6f 6d 20 61 20 22 64 |e exit f|rom a "d| |00004570| 6f 22 2c 20 22 6c 6f 6f | 70 22 20 28 6f 72 20 22 |o", "loo|p" (or "| |00004580| 2b 6c 6f 6f 70 22 29 20 | 63 6f 6e 73 74 72 75 63 |+loop") |construc| |00004590| 74 20 62 79 20 73 65 74 | 74 69 6e 67 0d 09 09 09 |t by set|ting....| |000045a0| 09 74 68 65 20 6c 6f 6f | 70 20 69 6e 64 65 78 20 |.the loo|p index | |000045b0| 65 71 75 61 6c 20 74 6f | 20 74 68 65 20 6c 6f 6f |equal to| the loo| |000045c0| 70 20 6c 69 6d 69 74 2e | 20 20 55 73 65 20 6f 6e |p limit.| Use on| |000045d0| 6c 79 20 77 69 74 68 69 | 6e 20 61 20 64 65 66 69 |ly withi|n a defi| |000045e0| 6e 61 74 65 20 6c 6f 6f | 70 20 73 74 72 75 63 74 |nate loo|p struct| |000045f0| 75 72 65 2e 20 0d 0d 09 | 09 09 4c 49 54 45 52 41 |ure. ...|..LITERA| |00004600| 4c 20 63 6f 6d 70 69 6c | 69 6e 67 3a 20 28 20 6e |L compil|ing: ( n| |00004610| 20 2d 2d 20 29 20 20 65 | 78 65 63 75 74 69 6e 67 | -- ) e|xecuting| |00004620| 3a 20 28 20 2d 2d 20 6e | 20 29 20 20 3c 73 74 61 |: ( -- n| ) <sta| |00004630| 6e 64 61 72 64 3e 20 20 | 20 22 4c 69 74 65 72 61 |ndard> | "Litera| |00004640| 6c 22 20 63 6f 6d 70 69 | 6c 65 73 20 61 20 6e 75 |l" compi|les a nu| |00004650| 6d 62 65 72 20 66 72 6f | 6d 20 74 68 65 20 73 74 |mber fro|m the st| |00004660| 61 63 6b 20 74 6f 0d 09 | 09 09 09 74 68 65 20 64 |ack to..|...the d| |00004670| 69 63 74 69 6f 6e 61 72 | 79 2e 20 20 57 68 65 6e |ictionar|y. When| |00004680| 20 61 20 77 6f 72 64 20 | 63 6f 6e 74 61 69 6e 69 | a word |containi| |00004690| 6e 67 20 61 20 6c 69 74 | 65 72 61 6c 20 69 73 20 |ng a lit|eral is | |000046a0| 65 78 65 63 75 74 65 64 | 2c 20 22 6c 69 74 65 72 |executed|, "liter| |000046b0| 61 6c 22 20 70 75 73 68 | 65 73 20 74 68 65 20 6e |al" push|es the n| |000046c0| 75 6d 62 65 72 20 6f 6e | 74 6f 20 74 68 65 20 73 |umber on|to the s| |000046d0| 74 61 63 6b 2e 20 0d 0d | 09 09 09 4c 4f 4f 50 20 |tack. ..|...LOOP | |000046e0| 63 6f 6d 70 69 6c 69 6e | 67 3a 20 28 20 61 64 64 |compilin|g: ( add| |000046f0| 72 20 2d 2d 20 29 20 20 | 65 78 65 63 75 74 69 6e |r -- ) |executin| |00004700| 67 3a 20 28 20 2d 2d 20 | 29 20 3c 73 74 61 6e 64 |g: ( -- |) <stand| |00004710| 61 72 64 3e 20 20 20 22 | 4c 6f 6f 70 22 20 69 73 |ard> "|Loop" is| |00004720| 20 61 6e 20 69 6d 6d 65 | 64 69 61 74 65 20 77 6f | an imme|diate wo| |00004730| 72 64 20 75 73 65 64 20 | 74 6f 20 74 65 72 6d 69 |rd used |to termi| |00004740| 6e 61 74 65 20 61 0d 09 | 09 09 09 22 64 6f 22 20 |nate a..|..."do" | |00004750| c9 20 22 6c 6f 6f 70 22 | 20 63 6f 6e 73 74 72 75 |. "loop"| constru| |00004760| 63 74 69 6f 6e 2c 20 69 | 6e 20 61 20 63 6f 6c 6f |ction, i|n a colo| |00004770| 6e 20 64 65 66 69 6e 69 | 74 69 6f 6e 2e 20 20 42 |n defini|tion. B| |00004780| 72 61 6e 63 68 20 74 6f | 20 74 68 65 20 62 65 67 |ranch to| the beg| |00004790| 69 6e 69 6e 67 20 6f 66 | 20 74 68 65 20 6c 6f 6f |ining of| the loo| |000047a0| 70 20 69 66 20 74 68 65 | 20 69 6e 64 65 78 20 69 |p if the| index i| |000047b0| 73 20 6c 65 73 73 0d 09 | 09 09 09 74 68 61 6e 20 |s less..|...than | |000047c0| 74 68 65 20 6c 69 6d 69 | 74 2e 20 20 28 73 65 65 |the limi|t. (see| |000047d0| 20 22 2b 6c 6f 6f 70 22 | 20 61 6e 64 20 22 64 6f | "+loop"| and "do| |000047e0| 22 29 20 0d 0d 09 09 09 | 4d 2f 4d 4f 44 20 28 20 |") .....|M/MOD ( | |000047f0| 6e 75 6d 65 72 33 32 20 | 64 65 6e 6f 6d 31 36 20 |numer32 |denom16 | |00004800| 2d 2d 20 72 65 6d 31 36 | 20 71 75 6f 74 33 32 20 |-- rem16| quot32 | |00004810| 29 20 73 61 79 3a 20 22 | 65 6d 2d 73 6c 61 73 68 |) say: "|em-slash| |00004820| 2d 6d 6f 64 22 20 20 3c | 73 74 61 6e 64 61 72 64 |-mod" <|standard| |00004830| 3e 20 20 20 44 69 76 69 | 64 65 20 61 20 64 6f 75 |> Divi|de a dou| |00004840| 62 6c 65 20 6e 75 6d 62 | 65 72 20 62 79 0d 09 09 |ble numb|er by...| |00004850| 09 09 61 20 73 69 6e 67 | 6c 65 20 6e 75 6d 62 65 |..a sing|le numbe| |00004860| 72 20 6c 65 61 76 69 6e | 67 20 61 20 73 69 6e 67 |r leavin|g a sing| |00004870| 6c 65 20 72 65 6d 61 69 | 6e 64 65 72 20 61 6e 64 |le remai|nder and| |00004880| 20 61 20 64 6f 75 62 6c | 65 20 71 75 6f 74 69 65 | a doubl|e quotie| |00004890| 6e 74 2e 20 0d 0d 09 09 | 09 4d 41 58 20 28 20 6e |nt. ....|.MAX ( n| |000048a0| 31 20 6e 32 20 2d 2d 20 | 6e 20 29 20 20 3c 73 74 |1 n2 -- |n ) <st| |000048b0| 61 6e 64 61 72 64 3e 20 | 20 20 52 65 74 75 72 6e |andard> | Return| |000048c0| 73 20 74 68 65 20 6c 61 | 72 67 65 72 20 6f 66 20 |s the la|rger of | |000048d0| 74 68 65 20 74 77 6f 20 | 74 6f 70 20 6e 75 6d 62 |the two |top numb| |000048e0| 65 72 73 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |ers on t|he stack| |000048f0| 2e 20 0d 0d 09 09 09 4d | 49 4e 20 28 20 6e 31 20 |. .....M|IN ( n1 | |00004900| 6e 32 20 2d 2d 20 6e 20 | 29 20 20 3c 73 74 61 6e |n2 -- n |) <stan| |00004910| 64 61 72 64 3e 20 20 20 | 52 65 74 75 72 6e 73 20 |dard> |Returns | |00004920| 74 68 65 20 73 6d 61 6c | 6c 65 72 20 6f 66 20 74 |the smal|ler of t| |00004930| 68 65 20 74 6f 70 20 74 | 77 6f 20 6e 75 6d 62 65 |he top t|wo numbe| |00004940| 72 73 20 6f 6e 20 74 68 | 65 20 73 74 61 63 6b 2e |rs on th|e stack.| |00004950| 20 0d 0d 09 09 09 4d 4f | 44 20 28 20 6e 31 20 6e | .....MO|D ( n1 n| |00004960| 32 20 2d 2d 20 72 65 6d | 61 69 6e 64 65 72 20 29 |2 -- rem|ainder )| |00004970| 20 73 61 79 3a 20 22 6d | 6f 64 22 20 20 3c 73 74 | say: "m|od" <st| |00004980| 61 6e 64 61 72 64 3e 20 | 20 20 52 65 74 75 72 6e |andard> | Return| |00004990| 73 20 74 68 65 20 72 65 | 6d 61 69 6e 64 65 72 20 |s the re|mainder | |000049a0| 28 62 75 74 20 6e 6f 74 | 20 74 68 65 20 71 75 6f |(but not| the quo| |000049b0| 74 69 65 6e 74 29 20 6f | 66 20 27 6e 31 27 0d 09 |tient) o|f 'n1'..| |000049c0| 09 09 09 64 69 76 69 64 | 65 64 20 62 79 20 27 6e |...divid|ed by 'n| |000049d0| 32 27 2e 20 0d 0d 09 09 | 09 4d 4f 4e 20 28 20 2d |2'. ....|.MON ( -| |000049e0| 2d 20 29 20 20 20 43 61 | 75 73 65 73 20 61 20 6d |- ) Ca|uses a m| |000049f0| 6f 6e 69 74 6f 72 20 73 | 75 63 68 20 61 73 20 54 |onitor s|uch as T| |00004a00| 4d 4f 4e 20 28 77 69 74 | 68 20 45 55 41 29 20 6f |MON (wit|h EUA) o| |00004a10| 72 20 4d 61 63 73 42 75 | 67 20 74 6f 20 61 63 74 |r MacsBu|g to act| |00004a20| 69 76 61 74 65 20 76 69 | 61 20 74 68 65 20 20 5f |ivate vi|a the _| |00004a30| 44 65 62 75 67 67 65 72 | 20 74 72 61 70 2e 0d 09 |Debugger| trap...| |00004a40| 09 09 09 45 78 65 63 75 | 74 69 6f 6e 20 77 69 6c |...Execu|tion wil| |00004a50| 6c 20 63 6f 6e 74 69 6e | 75 65 20 75 70 6f 6e 20 |l contin|ue upon | |00004a60| 65 78 69 74 20 66 72 6f | 6d 20 74 68 65 20 6d 6f |exit fro|m the mo| |00004a70| 6e 69 74 6f 72 2e 20 0d | 0d 09 09 09 4e 45 47 41 |nitor. .|....NEGA| |00004a80| 54 45 20 28 20 6e 20 2d | 2d 20 2d 6e 20 29 20 20 |TE ( n -|- -n ) | |00004a90| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 4c 65 61 |<standar|d> Lea| |00004aa0| 76 65 20 74 68 65 20 72 | 65 73 75 6c 74 20 6f 66 |ve the r|esult of| |00004ab0| 20 7a 65 72 6f 20 6d 69 | 6e 75 73 20 6e 20 6f 6e | zero mi|nus n on| |00004ac0| 20 74 68 65 20 73 74 61 | 63 6b 2e 20 0d 0d 09 09 | the sta|ck. ....| |00004ad0| 09 4e 55 4c 4c 20 28 20 | 2d 2d 20 29 20 20 20 54 |.NULL ( |-- ) T| |00004ae0| 68 69 73 20 69 73 20 61 | 20 6e 6f 20 6f 70 65 72 |his is a| no oper| |00004af0| 61 74 69 6f 6e 20 77 6f | 72 64 2e 20 0d 0d 09 09 |ation wo|rd. ....| |00004b00| 09 4e 55 4d 42 45 52 20 | 28 20 61 64 64 72 20 2d |.NUMBER |( addr -| |00004b10| 2d 20 6e 20 74 20 20 4f | 52 20 20 66 20 29 20 20 |- n t O|R f ) | |00004b20| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 22 4e 75 |<standar|d> "Nu| |00004b30| 6d 62 65 72 22 20 61 74 | 74 65 6d 70 74 73 20 74 |mber" at|tempts t| |00004b40| 6f 20 63 6f 6e 76 65 72 | 74 20 74 68 65 20 73 74 |o conver|t the st| |00004b50| 72 69 6e 67 20 61 74 20 | 61 64 64 72 20 74 6f 20 |ring at |addr to | |00004b60| 61 20 76 61 6c 75 65 20 | 61 63 63 6f 72 64 69 6e |a value |accordin| |00004b70| 67 0d 09 09 09 09 74 6f | 20 74 68 65 20 63 75 72 |g.....to| the cur| |00004b80| 72 65 6e 74 20 6e 75 6d | 62 65 72 20 62 61 73 65 |rent num|ber base| |00004b90| 2e 20 20 49 66 20 74 68 | 65 20 63 6f 6e 76 65 72 |. If th|e conver| |00004ba0| 73 69 6f 6e 20 69 73 20 | 73 75 63 63 65 73 73 66 |sion is |successf| |00004bb0| 75 6c 20 28 74 68 61 74 | 20 69 73 2c 20 69 66 20 |ul (that| is, if | |00004bc0| 61 6c 6c 20 63 68 61 72 | 61 63 74 65 72 73 20 61 |all char|acters a| |00004bd0| 72 65 20 6e 75 6d 65 72 | 61 6c 73 29 20 74 68 65 |re numer|als) the| |00004be0| 0d 09 09 09 09 76 61 6c | 75 65 20 61 6e 64 20 61 |.....val|ue and a| |00004bf0| 20 74 72 75 65 20 66 6c | 61 67 20 61 72 65 20 6c | true fl|ag are l| |00004c00| 65 66 74 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |eft on t|he stack| |00004c10| 2e 20 20 46 61 69 6c 75 | 72 65 20 6c 65 61 76 65 |. Failu|re leave| |00004c20| 73 20 6f 6e 6c 79 20 61 | 20 66 61 6c 73 65 20 66 |s only a| false f| |00004c30| 6c 61 67 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b |lag on t|he stack| |00004c40| 2e 20 20 55 6e 6c 69 6b | 65 20 46 4f 52 54 48 27 |. Unlik|e FORTH'| |00004c50| 73 0d 09 09 09 09 4e 55 | 4d 42 45 52 2c 20 22 6e |s.....NU|MBER, "n| |00004c60| 75 6d 62 65 72 22 20 64 | 6f 65 73 20 6e 6f 74 20 |umber" d|oes not | |00004c70| 63 6f 6e 76 65 72 74 20 | 64 6f 75 62 6c 65 20 6c |convert |double l| |00004c80| 65 6e 67 74 68 20 6e 75 | 6d 62 65 72 73 2e 20 0d |ength nu|mbers. .| |00004c90| 0d 09 09 09 4f 52 20 28 | 20 6e 31 20 6e 32 20 2d |....OR (| n1 n2 -| |00004ca0| 2d 20 6e 31 4f 52 6e 32 | 20 29 20 20 3c 73 74 61 |- n1ORn2| ) <sta| |00004cb0| 6e 64 61 72 64 3e 20 20 | 20 4c 65 61 76 65 20 74 |ndard> | Leave t| |00004cc0| 68 65 20 72 65 73 75 6c | 74 20 6f 66 20 6e 31 20 |he resul|t of n1 | |00004cd0| 4f 52 20 6e 31 20 6f 6e | 20 74 68 65 20 73 74 61 |OR n1 on| the sta| |00004ce0| 63 6b 2e 20 20 54 68 65 | 20 76 61 6c 75 65 20 69 |ck. The| value i| |00004cf0| 73 20 63 6f 6d 70 75 74 | 65 64 20 62 69 74 77 69 |s comput|ed bitwi| |00004d00| 73 65 2e 20 0d 0d 09 09 | 09 4f 56 45 52 20 28 20 |se. ....|.OVER ( | |00004d10| 6e 31 20 6e 32 20 2d 2d | 20 6e 31 20 6e 32 20 6e |n1 n2 --| n1 n2 n| |00004d20| 31 20 29 20 20 3c 73 74 | 61 6e 64 61 72 64 3e 20 |1 ) <st|andard> | |00004d30| 20 20 22 4f 76 65 72 22 | 20 64 75 70 6c 69 63 61 | "Over"| duplica| |00004d40| 74 65 73 20 74 68 65 20 | 73 65 63 6f 6e 64 20 6e |tes the |second n| |00004d50| 75 6d 62 65 72 20 6f 6e | 20 74 68 65 20 73 74 61 |umber on| the sta| |00004d60| 63 6b 20 74 6f 20 74 68 | 65 20 74 6f 70 20 6f 66 |ck to th|e top of| |00004d70| 20 74 68 65 20 73 74 61 | 63 6b 2e 20 0d 0d 09 09 | the sta|ck. ....| |00004d80| 09 50 41 44 20 28 20 2d | 2d 20 61 64 64 72 20 29 |.PAD ( -|- addr )| |00004d90| 20 20 3c 73 74 61 6e 64 | 61 72 64 3e 20 20 20 4c | <stand|ard> L| |00004da0| 65 61 76 65 20 74 68 65 | 20 61 64 64 72 65 73 73 |eave the| address| |00004db0| 20 6f 66 20 61 20 73 63 | 72 61 74 63 68 20 70 61 | of a sc|ratch pa| |00004dc0| 64 20 66 6f 72 20 6e 75 | 6d 65 72 69 63 20 63 6f |d for nu|meric co| |00004dd0| 6e 76 65 72 73 69 6f 6e | 2e 20 20 54 68 65 20 70 |nversion|. The p| |00004de0| 61 64 20 69 73 20 75 73 | 65 64 0d 09 09 09 09 64 |ad is us|ed.....d| |00004df0| 6f 77 6e 77 61 72 64 20 | 69 6e 20 6d 65 6d 6f 72 |ownward |in memor| |00004e00| 79 2e 20 20 54 68 65 20 | 61 64 64 72 65 73 73 20 |y. The |address | |00004e10| 6f 66 20 22 70 61 64 22 | 20 69 73 20 34 30 20 62 |of "pad"| is 40 b| |00004e20| 79 74 65 73 20 62 65 79 | 6f 6e 64 20 22 68 65 72 |ytes bey|ond "her| |00004e30| 65 22 2e 20 0d 0d 09 09 | 09 50 41 47 45 20 28 20 |e". ....|.PAGE ( | |00004e40| 2d 2d 20 29 20 20 3c 73 | 74 61 6e 64 61 72 64 3e |-- ) <s|tandard>| |00004e50| 20 20 20 22 50 61 67 65 | 22 20 69 73 20 66 72 6f | "Page|" is fro| |00004e60| 6d 20 74 68 65 20 64 61 | 79 73 20 6f 66 20 6d 65 |m the da|ys of me| |00004e70| 63 68 61 6e 69 63 61 6c | 20 54 65 6c 65 74 79 70 |chanical| Teletyp| |00004e80| 65 20 74 65 72 6d 69 6e | 61 6c 73 20 62 75 74 20 |e termin|als but | |00004e90| 69 73 20 73 74 69 6c 6c | 20 75 73 65 64 2e 20 20 |is still| used. | |00004ea0| 49 74 20 63 6c 65 61 72 | 73 0d 09 09 09 09 74 68 |It clear|s.....th| |00004eb0| 65 20 63 6f 6d 6d 61 6e | 64 20 77 69 6e 64 6f 77 |e comman|d window| |00004ec0| 20 61 6e 64 20 6d 6f 76 | 65 73 20 74 68 65 20 63 | and mov|es the c| |00004ed0| 75 72 73 6f 72 20 74 6f | 20 74 68 65 20 75 70 70 |ursor to| the upp| |00004ee0| 65 72 20 6c 65 66 74 20 | 68 61 6e 64 20 63 6f 72 |er left |hand cor| |00004ef0| 6e 65 72 2e 20 0d 0d 09 | 09 09 50 4d 4f 44 45 20 |ner. ...|..PMODE | |00004f00| 28 20 6d 6f 64 65 20 2d | 2d 20 29 20 73 61 79 3a |( mode -|- ) say:| |00004f10| 20 22 70 65 61 20 6d 6f | 64 65 22 20 20 20 53 65 | "pea mo|de" Se| |00004f20| 74 20 74 68 65 20 64 72 | 61 77 69 6e 67 20 74 72 |t the dr|awing tr| |00004f30| 61 6e 73 66 65 72 20 6d | 6f 64 65 20 6f 66 20 74 |ansfer m|ode of t| |00004f40| 68 65 20 70 65 6e 2e 20 | 0d 0d 09 09 09 51 55 49 |he pen. |.....QUI| |00004f50| 54 20 28 20 2d 2d 20 29 | 20 20 3c 73 74 61 6e 64 |T ( -- )| <stand| |00004f60| 61 72 64 3e 20 20 20 22 | 51 75 69 74 22 20 73 74 |ard> "|Quit" st| |00004f70| 6f 70 73 20 65 78 65 63 | 75 74 69 6e 67 20 61 6e |ops exec|uting an| |00004f80| 64 20 72 65 74 75 72 6e | 73 20 74 6f 20 74 68 65 |d return|s to the| |00004f90| 20 69 6e 70 75 74 20 6c | 6f 6f 70 20 77 69 74 68 | input l|oop with| |00004fa0| 20 6e 6f 20 6d 65 73 73 | 61 67 65 2e 09 28 73 65 | no mess|age..(se| |00004fb0| 65 20 22 61 62 6f 72 74 | 22 29 20 0d 0d 09 09 09 |e "abort|") .....| |00004fc0| 52 20 28 20 2d 2d 20 6e | 20 29 20 73 61 79 3a 20 |R ( -- n| ) say: | |00004fd0| 22 61 72 65 22 20 20 3c | 73 74 61 6e 64 61 72 64 |"are" <|standard| |00004fe0| 3e 20 20 20 22 41 72 65 | 22 20 70 75 74 73 20 74 |> "Are|" puts t| |00004ff0| 68 65 20 74 6f 70 20 31 | 36 20 62 69 74 20 6e 75 |he top 1|6 bit nu| |00005000| 6d 62 65 72 20 6f 66 20 | 74 68 65 20 72 65 74 75 |mber of |the retu| |00005010| 72 6e 20 73 74 61 63 6b | 20 6f 6e 74 6f 20 74 68 |rn stack| onto th| |00005020| 65 20 28 70 61 72 61 6d | 65 74 65 72 29 0d 09 09 |e (param|eter)...| |00005030| 09 09 73 74 61 63 6b 2e | 20 54 68 65 20 72 65 74 |..stack.| The ret| |00005040| 75 72 6e 20 73 74 61 63 | 6b 20 69 73 20 75 6e 61 |urn stac|k is una| |00005050| 66 66 65 63 74 65 64 2e | 20 20 44 75 72 69 6e 67 |ffected.| During| |00005060| 20 74 68 65 20 65 78 65 | 63 75 74 69 6f 6e 20 6f | the exe|cution o| |00005070| 66 20 61 20 64 65 66 69 | 6e 61 74 65 20 6c 6f 6f |f a defi|nate loo| |00005080| 70 20 28 22 64 6f 22 20 | c9 20 22 6c 6f 6f 70 22 |p ("do" |. "loop"| |00005090| 29 20 74 68 65 20 69 6e | 64 65 78 0d 09 09 09 09 |) the in|dex.....| |000050a0| 69 73 20 6b 65 70 74 20 | 6f 6e 20 74 68 65 20 74 |is kept |on the t| |000050b0| 6f 70 20 6f 66 20 74 68 | 65 20 72 65 74 75 72 6e |op of th|e return| |000050c0| 20 73 74 61 63 6b 2e 20 | 20 22 41 72 65 22 20 69 | stack. | "Are" i| |000050d0| 73 20 75 73 65 64 20 74 | 6f 20 72 65 74 72 69 65 |s used t|o retrie| |000050e0| 76 65 20 74 68 65 20 76 | 61 6c 75 65 20 6f 66 20 |ve the v|alue of | |000050f0| 74 68 65 20 69 6e 64 65 | 78 20 77 69 74 68 69 6e |the inde|x within| |00005100| 20 74 68 65 73 65 20 6c | 6f 6f 70 73 2e 0d 09 09 | these l|oops....| |00005110| 09 09 28 73 65 65 20 22 | 74 6f 2d 61 72 65 22 2c |..(see "|to-are",| |00005120| 20 22 61 72 65 2d 66 72 | 6f 6d 22 2c 20 22 64 6f | "are-fr|om", "do| |00005130| 22 2c 20 22 6c 6f 6f 70 | 22 20 61 6e 64 20 22 70 |", "loop|" and "p| |00005140| 6c 75 73 2d 6c 6f 6f 70 | 22 29 20 0d 0d 09 09 09 |lus-loop|") .....| |00005150| 52 3e 20 28 20 2d 2d 20 | 6e 20 29 20 20 72 65 74 |R> ( -- |n ) ret| |00005160| 75 72 6e 20 73 74 61 63 | 6b 3a 20 28 20 6e 20 2d |urn stac|k: ( n -| |00005170| 2d 20 29 20 73 61 79 3a | 20 22 61 72 65 2d 66 72 |- ) say:| "are-fr| |00005180| 6f 6d 22 20 20 3c 73 74 | 61 6e 64 61 72 64 3e 20 |om" <st|andard> | |00005190| 20 20 22 41 72 65 2d 66 | 72 6f 6d 22 20 72 65 6d | "Are-f|rom" rem| |000051a0| 6f 76 65 73 20 61 20 31 | 36 20 62 69 74 20 6e 75 |oves a 1|6 bit nu| |000051b0| 6d 62 65 72 20 66 72 6f | 6d 0d 09 09 09 09 74 68 |mber fro|m.....th| |000051c0| 65 20 72 65 74 75 72 6e | 20 73 74 61 63 6b 20 61 |e return| stack a| |000051d0| 6e 64 20 70 6c 61 63 65 | 73 20 69 74 20 6f 6e 20 |nd place|s it on | |000051e0| 74 68 65 20 70 61 72 61 | 6d 65 74 65 72 20 73 74 |the para|meter st| |000051f0| 61 63 6b 2e 20 20 28 73 | 65 65 20 22 74 6f 2d 61 |ack. (s|ee "to-a| |00005200| 72 65 22 20 61 6e 64 20 | 22 61 72 65 22 29 20 0d |re" and |"are") .| |00005210| 0d 09 09 09 52 45 50 45 | 41 54 20 77 68 69 6c 65 |....REPE|AT while| |00005220| 20 63 6f 6d 70 69 6c 69 | 6e 67 3a 20 28 20 61 64 | compili|ng: ( ad| |00005230| 64 72 31 20 61 64 64 72 | 32 20 2d 2d 20 29 20 20 |dr1 addr|2 -- ) | |00005240| 77 68 69 6c 65 20 65 78 | 65 63 75 74 69 6e 67 3a |while ex|ecuting:| |00005250| 20 28 20 2d 2d 20 29 20 | 20 3c 73 74 61 6e 64 61 | ( -- ) | <standa| |00005260| 72 64 3e 20 20 20 22 52 | 65 70 65 61 74 22 20 69 |rd> "R|epeat" i| |00005270| 73 20 61 6e 20 69 6d 6d | 65 64 69 61 74 65 20 77 |s an imm|ediate w| |00005280| 6f 72 64 2c 0d 09 09 09 | 09 75 73 65 64 20 77 69 |ord,....|.used wi| |00005290| 74 68 69 6e 20 61 20 63 | 6f 6c 6f 6e 20 64 65 66 |thin a c|olon def| |000052a0| 69 6e 69 74 69 6f 6e 20 | 74 6f 20 74 65 72 6d 69 |inition |to termi| |000052b0| 6e 61 74 65 20 61 20 22 | 62 65 67 69 6e 22 20 c9 |nate a "|begin" .| |000052c0| 22 77 68 69 6c 65 22 2c | 20 c9 20 22 72 65 70 65 |"while",| . "repe| |000052d0| 61 74 22 20 69 6e 64 65 | 66 69 6e 61 74 65 20 6c |at" inde|finate l| |000052e0| 6f 6f 70 2e 20 20 41 74 | 20 72 75 6e 74 69 6d 65 |oop. At| runtime| |000052f0| 0d 09 09 09 09 22 72 65 | 70 65 61 74 22 20 62 72 |....."re|peat" br| |00005300| 61 6e 63 68 65 73 20 75 | 6e 63 6f 6e 64 69 74 69 |anches u|nconditi| |00005310| 6f 6e 61 6c 6c 79 20 74 | 6f 20 74 68 65 20 77 6f |onally t|o the wo| |00005320| 72 64 20 66 6f 6c 6c 6f | 77 69 6e 67 20 22 62 65 |rd follo|wing "be| |00005330| 67 69 6e 22 20 28 61 74 | 20 61 64 64 72 31 29 2e |gin" (at| addr1).| |00005340| 20 20 28 73 65 65 20 22 | 62 65 67 69 6e 22 20 61 | (see "|begin" a| |00005350| 6e 64 20 22 77 68 69 6c | 65 22 29 20 0d 0d 09 09 |nd "whil|e") ....| |00005360| 09 52 4f 4f 4d 20 28 20 | 2d 2d 20 62 79 74 65 73 |.ROOM ( |-- bytes| |00005370| 2e 6f 66 2e 68 65 61 64 | 72 6f 6f 6d 20 29 20 20 |.of.head|room ) | |00005380| 20 22 52 6f 6f 6d 22 20 | 6c 65 61 76 65 73 20 74 | "Room" |leaves t| |00005390| 68 65 20 62 79 74 65 73 | 20 6f 66 20 68 65 61 64 |he bytes| of head| |000053a0| 72 6f 6f 6d 20 61 62 6f | 76 65 20 22 68 65 72 65 |room abo|ve "here| |000053b0| 22 20 6f 6e 20 74 68 65 | 20 73 74 61 63 6b 2e 20 |" on the| stack. | |000053c0| 20 41 64 64 72 65 73 73 | 65 73 0d 09 09 09 09 62 | Address|es.....b| |000053d0| 65 79 6f 6e 64 20 74 68 | 65 20 68 65 61 64 72 6f |eyond th|e headro| |000053e0| 6f 6d 20 73 68 6f 75 6c | 64 20 6e 6f 74 20 62 65 |om shoul|d not be| |000053f0| 20 77 72 69 74 74 65 6e | 20 74 6f 2c 20 65 76 65 | written| to, eve| |00005400| 6e 20 69 66 20 74 68 65 | 79 20 61 72 65 20 61 64 |n if the|y are ad| |00005410| 64 72 65 73 73 61 62 6c | 65 2c 20 62 65 63 61 75 |dressabl|e, becau| |00005420| 73 65 20 74 68 65 79 20 | 6d 61 79 20 62 65 20 75 |se they |may be u| |00005430| 73 65 64 20 62 79 0d 09 | 09 09 09 74 68 65 20 73 |sed by..|...the s| |00005440| 79 73 74 65 6d 2e 20 20 | 49 66 20 6d 6f 72 65 20 |ystem. |If more | |00005450| 72 6f 6f 6d 20 69 73 20 | 6e 65 65 64 65 64 2c 20 |room is |needed, | |00005460| 75 73 65 20 22 67 72 6f | 77 22 2e 20 20 28 73 65 |use "gro|w". (se| |00005470| 65 20 22 67 72 6f 77 22 | 29 20 0d 0d 09 09 09 52 |e "grow"|) .....R| |00005480| 4f 54 20 28 20 6e 31 20 | 6e 32 20 6e 33 20 2d 2d |OT ( n1 |n2 n3 --| |00005490| 20 6e 32 20 6e 33 20 6e | 31 20 29 20 73 61 79 3a | n2 n3 n|1 ) say:| |000054a0| 20 22 72 6f 74 65 22 20 | 20 3c 73 74 61 6e 64 61 | "rote" | <standa| |000054b0| 72 64 3e 20 20 20 22 52 | 6f 74 22 20 62 72 69 6e |rd> "R|ot" brin| |000054c0| 67 73 20 74 68 65 20 74 | 68 69 72 64 20 73 74 61 |gs the t|hird sta| |000054d0| 63 6b 20 69 74 65 6d 20 | 74 6f 20 74 68 65 20 74 |ck item |to the t| |000054e0| 6f 70 20 6f 66 20 74 68 | 65 20 73 74 61 63 6b 2e |op of th|e stack.| |000054f0| 20 0d 0d 09 09 09 53 3e | 44 20 28 20 6e 20 2d 2d | .....S>|D ( n --| |00005500| 20 64 20 29 20 73 61 79 | 3a 20 22 65 73 73 2d 74 | d ) say|: "ess-t| |00005510| 6f 2d 64 65 65 22 20 20 | 20 4d 61 6b 65 20 61 20 |o-dee" | Make a | |00005520| 73 69 6e 67 6c 65 20 6e | 75 6d 62 65 72 20 6f 6e |single n|umber on| |00005530| 20 74 68 65 20 73 74 61 | 63 6b 20 69 6e 74 6f 20 | the sta|ck into | |00005540| 61 20 64 6f 75 62 6c 65 | 20 6e 75 6d 62 65 72 20 |a double| number | |00005550| 75 73 69 6e 67 20 73 69 | 67 6e 20 65 78 74 65 6e |using si|gn exten| |00005560| 73 69 6f 6e 2e 20 0d 0d | 09 09 09 53 41 56 45 20 |sion. ..|...SAVE | |00005570| 28 20 2d 2d 20 29 20 20 | 20 22 53 61 76 65 22 20 |( -- ) | "Save" | |00005580| 77 72 69 74 65 73 20 74 | 68 65 20 64 69 63 74 69 |writes t|he dicti| |00005590| 6f 6e 61 72 79 20 74 6f | 20 74 68 65 20 64 69 73 |onary to| the dis| |000055a0| 6b 2e 20 20 41 6c 6c 20 | 70 65 72 74 61 69 6e 61 |k. All |pertaina| |000055b0| 6e 74 20 64 61 74 61 2c | 20 73 75 63 68 20 61 73 |nt data,| such as| |000055c0| 20 68 65 61 64 72 6f 6f | 6d 20 73 69 7a 65 2c 20 | headroo|m size, | |000055d0| 74 68 65 20 76 61 6c 75 | 65 73 20 6f 66 0d 09 09 |the valu|es of...| |000055e0| 09 09 76 61 72 69 61 62 | 6c 65 73 2c 20 65 74 63 |..variab|les, etc| |000055f0| 2e 20 61 72 65 20 61 6c | 73 6f 20 73 61 76 65 64 |. are al|so saved| |00005600| 2e 20 0d 0d 09 09 09 53 | 45 41 52 43 48 20 28 20 |. .....S|EARCH ( | |00005610| 61 64 64 72 20 2d 2d 20 | 61 64 64 72 20 74 20 4f |addr -- |addr t O| |00005620| 52 20 66 20 29 20 20 20 | 22 53 65 61 72 63 68 22 |R f ) |"Search"| |00005630| 20 6c 6f 6f 6b 73 20 66 | 6f 72 20 74 68 65 20 6e | looks f|or the n| |00005640| 65 78 74 20 74 6f 6b 65 | 6e 20 66 72 6f 6d 20 74 |ext toke|n from t| |00005650| 68 65 20 69 6e 70 75 74 | 20 73 74 72 65 61 6d 20 |he input| stream | |00005660| 69 6e 20 74 68 65 20 64 | 69 63 74 69 6f 6e 61 72 |in the d|ictionar| |00005670| 79 2c 0d 09 09 09 09 73 | 74 61 72 74 69 6e 67 20 |y,.....s|tarting | |00005680| 77 69 74 68 20 74 68 65 | 20 77 6f 72 64 20 77 68 |with the| word wh| |00005690| 6f 73 65 20 6e 61 6d 65 | 20 61 64 64 72 65 73 73 |ose name| address| |000056a0| 20 69 73 20 6f 6e 20 74 | 68 65 20 73 74 61 63 6b | is on t|he stack| |000056b0| 2e 20 20 49 66 20 66 6f | 75 6e 64 2c 20 69 74 73 |. If fo|und, its| |000056c0| 20 61 64 64 72 65 73 73 | 20 61 6e 64 20 61 20 74 | address| and a t| |000056d0| 72 75 65 20 66 6c 61 67 | 20 28 6d 69 6e 75 73 20 |rue flag| (minus | |000056e0| 6f 6e 65 29 0d 09 09 09 | 09 61 72 65 20 72 65 74 |one)....|.are ret| |000056f0| 75 72 6e 65 64 2e 20 49 | 66 20 74 68 65 20 73 65 |urned. I|f the se| |00005700| 61 72 63 68 20 66 61 69 | 6c 73 2c 20 61 20 66 61 |arch fai|ls, a fa| |00005710| 6c 73 65 20 66 6c 61 67 | 20 28 7a 65 72 6f 29 20 |lse flag| (zero) | |00005720| 69 73 20 6c 65 66 74 20 | 6f 6e 20 74 68 65 20 73 |is left |on the s| |00005730| 74 61 63 6b 2e 20 0d 0d | 09 09 09 53 49 47 4e 20 |tack. ..|...SIGN | |00005740| 28 20 6e 20 64 20 2d 2d | 20 64 20 29 20 20 3c 73 |( n d --| d ) <s| |00005750| 74 61 6e 64 61 72 64 3e | 20 20 20 49 66 20 74 68 |tandard>| If th| |00005760| 65 20 73 69 6e 67 6c 65 | 20 6e 75 6d 62 65 72 20 |e single| number | |00005770| 69 73 20 6e 65 67 61 74 | 69 76 65 2c 20 70 6c 61 |is negat|ive, pla| |00005780| 63 65 20 61 20 6e 65 67 | 61 74 69 76 65 20 73 69 |ce a neg|ative si| |00005790| 67 6e 20 69 6e 74 6f 20 | 74 68 65 20 63 6f 6e 76 |gn into |the conv| |000057a0| 65 72 73 69 6f 6e 20 22 | 70 61 64 22 2e 20 20 55 |ersion "|pad". U| |000057b0| 73 65 0d 09 09 09 09 62 | 65 74 77 65 65 6e 20 22 |se.....b|etween "| |000057c0| 67 72 65 61 74 65 72 2d | 74 68 61 6e 2d 73 68 61 |greater-|than-sha| |000057d0| 72 70 22 20 61 6e 64 20 | 22 73 68 61 72 70 2d 6c |rp" and |"sharp-l| |000057e0| 65 73 73 2d 74 68 61 6e | 22 2e 20 0d 0d 09 09 09 |ess-than|". .....| |000057f0| 53 50 41 43 45 20 28 20 | 2d 2d 20 29 20 3c 73 74 |SPACE ( |-- ) <st| |00005800| 61 6e 64 61 72 64 3e 20 | 20 20 22 53 70 61 63 65 |andard> | "Space| |00005810| 22 20 70 72 69 6e 74 73 | 20 61 20 73 70 61 63 65 |" prints| a space| |00005820| 20 63 68 61 72 61 63 74 | 65 72 2e 20 0d 0d 09 09 | charact|er. ....| |00005830| 09 53 57 41 50 20 28 20 | 6e 31 20 6e 32 20 2d 2d |.SWAP ( |n1 n2 --| |00005840| 20 6e 32 20 6e 31 20 29 | 20 20 3c 73 74 61 6e 64 | n2 n1 )| <stand| |00005850| 61 72 64 3e 20 20 20 22 | 53 77 61 70 22 20 65 78 |ard> "|Swap" ex| |00005860| 63 68 61 6e 67 65 73 20 | 74 68 65 20 74 6f 70 20 |changes |the top | |00005870| 74 77 6f 20 6e 75 6d 62 | 65 72 73 20 6f 6e 20 74 |two numb|ers on t| |00005880| 68 65 20 03 73 74 61 63 | 6b 2e 20 0d 0d 09 09 09 |he .stac|k. .....| |00005890| 54 41 53 4b 20 28 20 2d | 2d 20 29 20 20 20 22 54 |TASK ( -|- ) "T| |000058a0| 61 73 6b 22 20 69 73 20 | 61 20 6e 6f 20 6f 70 65 |ask" is |a no ope| |000058b0| 72 61 74 69 6f 6e 20 77 | 6f 72 64 20 77 68 69 63 |ration w|ord whic| |000058c0| 68 20 6d 61 72 6b 73 20 | 74 68 65 20 65 6e 64 20 |h marks |the end | |000058d0| 6f 66 20 74 68 65 20 64 | 69 63 74 69 6f 6e 61 72 |of the d|ictionar| |000058e0| 79 2e 20 20 54 68 65 20 | 61 64 64 65 64 20 70 61 |y. The |added pa| |000058f0| 72 74 20 6f 66 20 74 68 | 65 20 64 69 63 74 69 6f |rt of th|e dictio| |00005900| 6e 61 72 79 0d 09 09 09 | 09 63 61 6e 20 62 65 20 |nary....|.can be | |00005910| 72 65 6d 6f 76 65 64 20 | 62 79 20 65 78 65 63 75 |removed |by execu| |00005920| 74 69 6e 67 3a 20 20 46 | 4f 52 47 45 54 20 54 41 |ting: F|ORGET TA| |00005930| 53 4b 20 3a 20 54 41 53 | 4b 20 3b 20 0d 0d 09 09 |SK : TAS|K ; ....| |00005940| 09 54 48 45 4e 20 77 68 | 69 6c 65 20 63 6f 6d 70 |.THEN wh|ile comp| |00005950| 69 6c 69 6e 67 3a 20 28 | 20 61 64 64 72 20 2d 2d |iling: (| addr --| |00005960| 20 29 20 20 77 68 69 6c | 65 20 65 78 65 63 75 74 | ) whil|e execut| |00005970| 69 6e 67 3a 20 28 20 2d | 2d 20 29 20 20 3c 73 74 |ing: ( -|- ) <st| |00005980| 61 6e 64 61 72 64 3e 20 | 20 20 22 54 68 65 6e 22 |andard> | "Then"| |00005990| 20 69 73 20 61 6e 20 69 | 6d 6d 65 64 69 61 74 65 | is an i|mmediate| |000059a0| 20 77 6f 72 64 20 77 68 | 69 63 68 20 74 65 72 6d | word wh|ich term| |000059b0| 69 6e 61 74 65 73 0d 09 | 09 09 09 61 6e 20 22 69 |inates..|...an "i| |000059c0| 66 22 2c 20 28 22 65 6c | 73 65 22 29 2c 20 22 74 |f", ("el|se"), "t| |000059d0| 68 65 6e 22 20 63 6f 6e | 73 74 72 75 63 74 69 6f |hen" con|structio| |000059e0| 6e 20 77 69 74 68 69 6e | 20 61 20 63 6f 6c 6f 6e |n within| a colon| |000059f0| 20 64 65 66 69 6e 69 74 | 69 6f 6e 2e 20 28 73 65 | definit|ion. (se| |00005a00| 65 20 22 69 66 22 20 61 | 6e 64 20 22 74 68 65 6e |e "if" a|nd "then| |00005a10| 22 29 20 0d 0d 09 09 09 | 54 49 42 20 28 20 2d 2d |") .....|TIB ( --| |00005a20| 20 61 64 64 72 20 29 20 | 73 61 79 3a 20 22 74 69 | addr ) |say: "ti| |00005a30| 62 22 20 28 72 68 79 6d | 65 73 20 77 69 74 68 20 |b" (rhym|es with | |00005a40| 72 69 62 29 20 20 3c 73 | 74 61 6e 64 61 72 64 3e |rib) <s|tandard>| |00005a50| 20 20 20 22 54 69 62 22 | 20 72 65 74 75 72 6e 73 | "Tib"| returns| |00005a60| 20 74 68 65 20 72 65 6c | 61 74 69 76 65 20 61 64 | the rel|ative ad| |00005a70| 64 72 65 73 73 20 6f 66 | 20 74 68 65 20 74 65 72 |dress of| the ter| |00005a80| 6d 69 6e 61 6c 20 69 6e | 70 75 74 20 62 75 66 66 |minal in|put buff| |00005a90| 65 72 2e 0d 09 09 09 09 | 54 68 65 20 62 75 66 66 |er......|The buff| |00005aa0| 65 72 20 69 73 20 61 6e | 20 38 34 20 62 79 74 65 |er is an| 84 byte| |00005ab0| 20 64 61 74 61 20 61 72 | 65 61 20 62 65 6c 6f 77 | data ar|ea below| |00005ac0| 20 74 68 65 20 64 69 63 | 74 69 6f 6e 61 72 79 2e | the dic|tionary.| |00005ad0| 20 20 54 68 65 20 69 6e | 70 75 74 20 73 74 72 65 | The in|put stre| |00005ae0| 61 6d 20 75 73 75 61 6c | 6c 79 20 70 6f 69 6e 74 |am usual|ly point| |00005af0| 73 20 74 6f 20 61 20 62 | 79 74 65 20 77 69 74 68 |s to a b|yte with| |00005b00| 69 6e 20 22 74 69 62 22 | 2e 20 0d 0d 09 09 09 54 |in "tib"|. .....T| |00005b10| 4f 4b 45 4e 20 28 20 2d | 2d 20 29 20 20 20 22 54 |OKEN ( -|- ) "T| |00005b20| 6f 6b 65 6e 22 20 6d 6f | 76 65 73 20 74 68 65 20 |oken" mo|ves the | |00005b30| 6e 65 78 74 20 77 6f 72 | 64 20 66 72 6f 6d 20 74 |next wor|d from t| |00005b40| 68 65 20 69 6e 70 75 74 | 20 73 74 72 65 61 6d 20 |he input| stream | |00005b50| 74 6f 20 22 68 65 72 65 | 22 2c 20 74 68 65 20 65 |to "here|", the e| |00005b60| 6e 64 20 6f 66 20 74 68 | 65 20 64 69 63 74 69 6f |nd of th|e dictio| |00005b70| 6e 61 72 79 2e 20 0d 0d | 09 09 09 54 59 50 45 20 |nary. ..|...TYPE | |00005b80| 28 20 61 64 64 72 20 6e | 20 2d 2d 20 29 20 3c 73 |( addr n| -- ) <s| |00005b90| 74 61 6e 64 61 72 64 3e | 20 20 20 22 54 79 70 65 |tandard>| "Type| |00005ba0| 22 20 70 72 69 6e 74 73 | 20 6e 20 6e 75 6d 62 65 |" prints| n numbe| |00005bb0| 72 20 6f 66 20 63 68 61 | 72 61 63 74 65 72 73 20 |r of cha|racters | |00005bc0| 66 72 6f 6d 20 6d 65 6d | 6f 72 79 20 73 74 61 72 |from mem|ory star| |00005bd0| 74 69 6e 67 20 61 74 20 | 74 68 65 20 72 65 6c 61 |ting at |the rela| |00005be0| 74 69 76 65 0d 09 09 09 | 09 61 64 64 72 65 73 73 |tive....|.address| |00005bf0| 2c 20 61 64 64 72 2e 20 | 20 46 6f 72 20 62 65 73 |, addr. | For bes| |00005c00| 74 20 72 65 73 75 6c 74 | 73 20 61 64 64 72 20 73 |t result|s addr s| |00005c10| 68 6f 75 6c 64 20 63 6f | 6e 74 61 69 6e 20 61 74 |hould co|ntain at| |00005c20| 20 6c 65 61 73 74 20 6e | 20 41 53 43 49 49 20 63 | least n| ASCII c| |00005c30| 68 61 72 61 63 74 65 72 | 73 2e 20 0d 0d 09 09 09 |haracter|s. .....| |00005c40| 55 2e 20 28 20 6e 20 2d | 2d 20 29 20 73 61 79 3a |U. ( n -|- ) say:| |00005c50| 20 22 79 6f 75 2d 64 6f | 74 22 20 20 3c 73 74 61 | "you-do|t" <sta| |00005c60| 6e 64 61 72 64 3e 20 20 | 20 50 72 69 6e 74 20 74 |ndard> | Print t| |00005c70| 68 65 20 76 61 6c 75 65 | 20 6f 66 20 6e 20 69 6e |he value| of n in| |00005c80| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 6e 75 6d | the cur|rent num| |00005c90| 65 72 69 63 20 62 61 73 | 65 20 61 73 20 61 6e 20 |eric bas|e as an | |00005ca0| 75 6e 73 69 67 6e 65 64 | 20 6e 75 6d 62 65 72 2e |unsigned| number.| |00005cb0| 20 0d 0d 09 09 09 55 2a | 20 28 20 6e 31 20 6e 32 | .....U*| ( n1 n2| |00005cc0| 20 2d 2d 20 64 5b 6e 31 | 2a 6e 32 5d 20 29 20 73 | -- d[n1|*n2] ) s| |00005cd0| 61 79 3a 20 22 79 6f 75 | 2d 73 74 61 72 22 20 20 |ay: "you|-star" | |00005ce0| 3c 73 74 61 6e 64 61 72 | 64 3e 20 20 20 22 59 6f |<standar|d> "Yo| |00005cf0| 75 2d 73 74 61 72 22 20 | 6d 75 6c 74 69 70 6c 69 |u-star" |multipli| |00005d00| 65 73 20 74 77 6f 20 75 | 6e 73 69 67 6e 65 64 20 |es two u|nsigned | |00005d10| 31 36 20 62 69 74 20 6e | 75 6d 62 65 72 73 20 66 |16 bit n|umbers f| |00005d20| 72 6f 6d 20 74 68 65 0d | 09 09 09 09 73 74 61 63 |rom the.|....stac| |00005d30| 6b 20 61 6e 64 20 6c 65 | 61 76 65 73 20 61 20 64 |k and le|aves a d| |00005d40| 6f 75 62 6c 65 20 6e 75 | 6d 62 65 72 20 70 72 6f |ouble nu|mber pro| |00005d50| 64 75 63 74 20 6f 6e 20 | 74 68 65 20 73 74 61 63 |duct on |the stac| |00005d60| 6b 2e 20 0d 0d 09 09 09 | 55 4e 54 49 4c 20 28 20 |k. .....|UNTIL ( | |00005d70| 66 6c 61 67 20 2d 2d 20 | 29 20 20 3c 73 74 61 6e |flag -- |) <stan| |00005d80| 64 61 72 64 3e 20 20 20 | 22 55 6e 69 74 6c 22 20 |dard> |"Unitl" | |00005d90| 69 73 20 61 6e 20 69 6d | 6d 65 64 69 61 74 65 20 |is an im|mediate | |00005da0| 77 6f 72 64 20 75 73 65 | 64 20 77 69 74 68 20 69 |word use|d with i| |00005db0| 6e 20 61 20 63 6f 6c 6f | 6e 20 64 65 66 69 6e 69 |n a colo|n defini| |00005dc0| 74 69 6f 6e 20 61 66 74 | 65 72 20 22 62 65 67 69 |tion aft|er "begi| |00005dd0| 6e 22 20 74 6f 20 63 6f | 6e 64 69 74 69 6f 6e 61 |n" to co|nditiona| |00005de0| 6c 6c 79 0d 09 09 09 09 | 74 65 72 6d 69 6e 61 74 |lly.....|terminat| |00005df0| 65 20 61 6e 20 69 6e 64 | 65 66 69 6e 61 74 65 20 |e an ind|efinate | |00005e00| 6c 6f 6f 70 2e 20 20 49 | 66 20 66 6c 61 67 20 69 |loop. I|f flag i| |00005e10| 73 20 74 72 75 65 20 65 | 78 65 63 75 74 69 6f 6e |s true e|xecution| |00005e20| 20 70 61 73 73 65 73 20 | 74 6f 20 74 68 65 20 6e | passes |to the n| |00005e30| 65 78 74 20 77 6f 72 64 | 2e 20 20 49 66 20 66 61 |ext word|. If fa| |00005e40| 6c 73 65 20 69 74 20 62 | 72 61 6e 63 68 73 20 62 |lse it b|ranchs b| |00005e50| 61 63 6b 20 74 6f 20 74 | 68 65 0d 09 09 09 09 77 |ack to t|he.....w| |00005e60| 6f 72 64 20 66 6f 6c 6c | 6f 77 69 6e 67 20 22 62 |ord foll|owing "b| |00005e70| 65 67 69 6e 22 2e 20 20 | 20 28 73 65 65 20 22 62 |egin". | (see "b| |00005e80| 65 67 69 6e 22 20 61 6e | 64 20 22 62 61 63 6b 22 |egin" an|d "back"| |00005e90| 29 20 0d 0d 09 09 09 55 | 50 50 45 52 20 28 20 61 |) .....U|PPER ( a| |00005ea0| 64 64 72 20 2d 2d 20 29 | 20 20 20 41 73 73 75 6d |ddr -- )| Assum| |00005eb0| 69 6e 67 20 74 68 61 74 | 20 74 68 65 20 72 65 6c |ing that| the rel| |00005ec0| 61 74 69 76 65 20 61 64 | 64 72 65 73 73 20 6f 6e |ative ad|dress on| |00005ed0| 20 74 68 65 20 73 74 61 | 63 6b 20 69 73 20 74 68 | the sta|ck is th| |00005ee0| 65 20 73 74 61 72 74 20 | 6f 66 20 73 74 72 69 6e |e start |of strin| |00005ef0| 67 20 64 61 74 61 20 28 | 77 69 74 68 20 74 68 65 |g data (|with the| |00005f00| 20 6c 65 6e 67 74 68 20 | 69 6e 20 74 68 65 0d 09 | length |in the..| |00005f10| 09 09 09 66 69 72 73 74 | 20 62 79 74 65 29 2c 20 |...first| byte), | |00005f20| 22 75 70 70 65 72 22 20 | 63 6f 6e 76 65 72 74 73 |"upper" |converts| |00005f30| 20 6c 6f 77 65 72 20 63 | 61 73 65 20 6c 65 74 74 | lower c|ase lett| |00005f40| 65 72 73 20 74 6f 20 75 | 70 70 65 72 20 63 61 73 |ers to u|pper cas| |00005f50| 65 2e 20 0d 0d 09 09 09 | 56 41 52 49 41 42 4c 45 |e. .....|VARIABLE| |00005f60| 20 63 6f 6d 70 69 6c 69 | 6e 67 3a 20 28 20 2d 2d | compili|ng: ( --| |00005f70| 20 29 20 65 78 65 63 75 | 74 69 6e 67 3a 20 28 20 | ) execu|ting: ( | |00005f80| 2d 2d 20 61 64 64 72 20 | 29 20 20 3c 73 74 61 6e |-- addr |) <stan| |00005f90| 64 61 72 64 3e 20 20 20 | 22 56 61 72 69 61 62 6c |dard> |"Variabl| |00005fa0| 65 22 20 63 72 65 61 74 | 65 73 20 61 20 77 6f 72 |e" creat|es a wor| |00005fb0| 64 20 66 72 6f 6d 20 74 | 68 65 20 6e 65 78 74 20 |d from t|he next | |00005fc0| 77 6f 72 64 20 69 6e 20 | 74 68 65 0d 09 09 09 09 |word in |the.....| |00005fd0| 69 6e 70 75 74 20 73 74 | 72 65 61 6d 2c 20 61 6e |input st|ream, an| |00005fe0| 64 20 72 65 73 65 72 76 | 65 73 20 6f 6e 65 20 63 |d reserv|es one c| |00005ff0| 65 6c 6c 20 28 74 77 6f | 20 62 79 74 65 73 29 20 |ell (two| bytes) | |00006000| 6f 66 20 64 61 74 61 2e | 20 20 57 68 65 6e 20 74 |of data.| When t| |00006010| 68 65 20 6e 65 77 20 77 | 6f 72 64 20 69 73 20 65 |he new w|ord is e| |00006020| 78 65 63 75 74 65 64 2c | 20 69 74 20 6c 65 61 76 |xecuted,| it leav| |00006030| 65 73 20 74 68 65 0d 09 | 09 09 09 72 65 6c 61 74 |es the..|...relat| |00006040| 69 76 65 20 61 64 64 72 | 65 73 73 20 6f 66 20 74 |ive addr|ess of t| |00006050| 68 65 20 64 61 74 61 20 | 63 65 6c 6c 20 6f 6e 20 |he data |cell on | |00006060| 74 68 65 20 73 74 61 63 | 6b 2e 20 0d 0d 09 09 09 |the stac|k. .....| |00006070| 57 48 41 5a 41 54 20 28 | 20 2d 2d 20 29 20 73 61 |WHAZAT (| -- ) sa| |00006080| 79 3a 20 22 77 68 61 74 | 2d 69 73 2d 74 68 61 74 |y: "what|-is-that| |00006090| 22 20 20 20 22 57 68 61 | 7a 61 74 22 20 70 72 69 |" "Wha|zat" pri| |000060a0| 6e 74 73 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |nts the |current | |000060b0| 74 6f 6b 65 6e 20 66 72 | 6f 6d 20 74 68 65 20 69 |token fr|om the i| |000060c0| 6e 70 75 74 20 73 74 72 | 65 61 6d 2c 20 61 6e 64 |nput str|eam, and| |000060d0| 20 65 78 65 63 75 74 65 | 73 20 22 61 62 6f 72 74 | execute|s "abort| |000060e0| 22 2c 20 0d 09 09 09 09 | 69 6e 64 69 63 61 74 69 |", .....|indicati| |000060f0| 6e 67 20 74 68 61 74 20 | 74 68 65 20 63 75 72 72 |ng that |the curr| |00006100| 65 6e 74 20 74 6f 6b 65 | 6e 20 77 61 73 20 6e 6f |ent toke|n was no| |00006110| 74 20 66 6f 75 6e 64 20 | 69 6e 20 74 68 65 20 64 |t found |in the d| |00006120| 69 63 74 69 6f 6e 61 72 | 79 2e 20 0d 0d 0d 09 09 |ictionar|y. .....| |00006130| 09 57 48 49 4c 45 20 28 | 20 66 6c 61 67 20 2d 2d |.WHILE (| flag --| |00006140| 20 29 20 20 3c 73 74 61 | 6e 64 61 72 64 3e 20 20 | ) <sta|ndard> | |00006150| 20 22 57 68 69 6c 65 22 | 20 69 73 20 61 6e 20 69 | "While"| is an i| |00006160| 6d 6d 65 64 69 61 74 65 | 20 77 6f 72 64 20 75 73 |mmediate| word us| |00006170| 65 64 20 77 69 74 68 69 | 6e 20 61 20 63 6f 6c 6f |ed withi|n a colo| |00006180| 6e 20 64 65 66 69 6e 69 | 74 69 6f 6e 2c 20 62 65 |n defini|tion, be| |00006190| 74 77 65 65 6e 20 22 62 | 65 67 69 6e 22 20 61 6e |tween "b|egin" an| |000061a0| 64 0d 09 09 09 09 22 72 | 65 70 65 61 74 22 20 74 |d....."r|epeat" t| |000061b0| 6f 20 63 6f 6e 74 72 6f | 6c 20 61 6e 20 69 6e 64 |o contro|l an ind| |000061c0| 65 66 69 6e 61 74 65 20 | 6c 6f 6f 70 20 77 69 74 |efinate |loop wit| |000061d0| 68 20 61 6e 20 65 78 69 | 74 20 69 6e 20 74 68 65 |h an exi|t in the| |000061e0| 20 6d 69 64 64 6c 65 2e | 20 20 49 66 20 74 68 65 | middle.| If the| |000061f0| 20 66 6c 61 67 20 69 73 | 20 74 72 75 65 2c 20 74 | flag is| true, t| |00006200| 68 65 20 77 6f 72 64 73 | 20 61 66 74 65 72 20 22 |he words| after "| |00006210| 77 68 69 6c 65 22 0d 09 | 09 09 09 61 6e 64 20 62 |while"..|...and b| |00006220| 65 66 6f 72 65 20 22 72 | 65 70 65 61 74 22 20 61 |efore "r|epeat" a| |00006230| 72 65 20 65 78 65 63 75 | 74 65 64 2c 20 69 66 20 |re execu|ted, if | |00006240| 74 68 65 20 66 6c 61 67 | 20 69 73 20 66 61 6c 73 |the flag| is fals| |00006250| 65 2c 20 65 78 65 63 75 | 74 69 6f 6e 20 6a 75 6d |e, execu|tion jum| |00006260| 70 73 20 74 6f 20 74 68 | 65 20 77 6f 72 64 20 66 |ps to th|e word f| |00006270| 6f 6c 6c 6f 77 69 6e 67 | 20 22 72 65 70 65 61 74 |ollowing| "repeat| |00006280| 22 2e 20 0d 09 09 09 09 | 28 73 65 65 20 22 62 65 |". .....|(see "be| |00006290| 67 69 6e 22 20 61 6e 64 | 20 22 72 65 70 65 61 74 |gin" and| "repeat| |000062a0| 22 29 20 0d 0d 09 09 09 | 57 4f 52 44 20 28 20 63 |") .....|WORD ( c| |000062b0| 20 2d 2d 20 29 20 20 3c | 73 74 61 6e 64 61 72 64 | -- ) <|standard| |000062c0| 3e 20 20 20 22 57 6f 72 | 64 22 20 6d 6f 76 65 73 |> "Wor|d" moves| |000062d0| 20 74 68 65 20 6e 65 78 | 74 20 74 6f 6b 65 6e 2c | the nex|t token,| |000062e0| 20 64 65 6c 69 6d 69 74 | 65 64 20 62 79 20 74 68 | delimit|ed by th| |000062f0| 65 20 63 68 61 72 61 63 | 74 65 72 20 6f 6e 20 74 |e charac|ter on t| |00006300| 68 65 20 73 74 61 63 6b | 2c 20 66 72 6f 6d 20 74 |he stack|, from t| |00006310| 68 65 20 69 6e 70 75 74 | 0d 09 09 09 09 73 74 72 |he input|.....str| |00006320| 65 61 6d 20 20 74 6f 20 | 22 68 65 72 65 22 2c 20 |eam to |"here", | |00006330| 74 68 65 20 65 6e 64 20 | 6f 66 20 74 68 65 20 64 |the end |of the d| |00006340| 69 63 74 69 6f 6e 61 72 | 79 2e 20 0d 0d 09 09 09 |ictionar|y. .....| |00006350| 57 4f 52 44 53 20 28 20 | 2d 2d 20 29 20 20 3c 73 |WORDS ( |-- ) <s| |00006360| 74 61 6e 64 61 72 64 3e | 20 20 20 22 57 6f 72 64 |tandard>| "Word| |00006370| 73 22 20 70 72 69 6e 74 | 73 20 61 6c 6c 20 6f 66 |s" print|s all of| |00006380| 20 74 68 65 20 77 6f 72 | 64 73 20 69 6e 20 74 68 | the wor|ds in th| |00006390| 65 20 64 69 63 74 69 6f | 6e 61 72 79 2e 20 0d 0d |e dictio|nary. ..| |000063a0| 09 09 09 5b 20 28 20 2d | 2d 20 29 20 73 61 79 3a |...[ ( -|- ) say:| |000063b0| 20 22 6c 65 66 74 2d 62 | 72 61 63 6b 65 74 22 20 | "left-b|racket" | |000063c0| 20 3c 73 74 61 6e 64 61 | 72 64 3e 20 20 20 22 4c | <standa|rd> "L| |000063d0| 65 66 74 2d 62 72 61 63 | 6b 65 74 22 20 73 65 74 |eft-brac|ket" set| |000063e0| 73 20 74 68 65 20 69 6e | 74 65 72 70 72 65 74 65 |s the in|terprete| |000063f0| 72 20 69 6e 74 6f 20 69 | 6d 6d 65 64 69 61 74 65 |r into i|mmediate| +--------+-------------------------+-------------------------+--------+--------+ Only 25.0 KB of data is shown above.